MCPcopy Create free account
hub / github.com/apache/datafusion / test_ptr_eq_wrapper

Function test_ptr_eq_wrapper

datafusion/expr/src/ptr_eq.rs:111–128  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

109
110 #[test]
111 pub fn test_ptr_eq_wrapper() {
112 let a = Arc::new("Hello".to_string());
113 let b = Arc::new(a.deref().clone());
114 let c = Arc::new("world".to_string());
115
116 let wrapper = PtrEq(Arc::clone(&a));
117 assert_eq!(wrapper, wrapper);
118
119 // same address (equal)
120 assert_eq!(PtrEq(Arc::clone(&a)), PtrEq(Arc::clone(&a)));
121 assert_eq!(hash(PtrEq(Arc::clone(&a))), hash(PtrEq(Arc::clone(&a))));
122
123 // different address, same content (not equal)
124 assert_ne!(PtrEq(Arc::clone(&a)), PtrEq(Arc::clone(&b)));
125
126 // different address, different content (not equal)
127 assert_ne!(PtrEq(Arc::clone(&a)), PtrEq(Arc::clone(&c)));
128 }
129
130 fn hash<T: Hash>(value: T) -> u64 {
131 let hasher = &mut DefaultHasher::new();

Callers

nothing calls this directly

Calls 5

newFunction · 0.85
PtrEqClass · 0.85
to_stringMethod · 0.45
cloneMethod · 0.45
derefMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…