Simplify CFArray test with new downcast method

This commit is contained in:
Linus Färnstrand
2018-01-14 13:57:56 +01:00
parent b13257441d
commit 3f4f6a0db2
+17 -19
View File
@@ -207,27 +207,25 @@ mod tests {
n4.as_CFTypeRef(),
n5.as_CFTypeRef()]);
unsafe {
let mut sum = 0;
let mut sum = 0;
let mut iter = arr.iter();
assert_eq!(iter.len(), 6);
assert!(iter.next().is_some());
assert_eq!(iter.len(), 5);
let mut iter = arr.iter();
assert_eq!(iter.len(), 6);
assert!(iter.next().is_some());
assert_eq!(iter.len(), 5);
for elem in iter {
let number: CFNumber = TCFType::wrap_under_get_rule(mem::transmute(elem));
sum += number.to_i64().unwrap()
}
assert!(sum == 15);
for elem in arr.iter() {
let number: CFNumber = TCFType::wrap_under_get_rule(mem::transmute(elem));
sum += number.to_i64().unwrap()
}
assert!(sum == 30);
for elem in iter {
let number: CFNumber = elem.downcast::<_, CFNumber>().unwrap();
sum += number.to_i64().unwrap()
}
assert!(sum == 15);
for elem in arr.iter() {
let number: CFNumber = elem.downcast::<_, CFNumber>().unwrap();
sum += number.to_i64().unwrap()
}
assert!(sum == 30);
}
}