use glib::*;
use std::ops::Deref;
#[test]
pub fn to_value_invariants() {
assert_eq!(0i32, 0i32.to_value().get::<i32>().unwrap());
assert_eq!(0i32, 0i32.to_value().get::<i32>().unwrap());
assert_eq!(
&0i32.to_value().type_(),
&0i32.to_value().to_value().type_()
);
assert_eq!(0i32, 0i32.to_value().to_value().get::<i32>().unwrap());
assert_eq!(
0i32,
0i32.to_value()
.get::<Value>()
.unwrap()
.get::<i32>()
.unwrap()
);
assert_eq!(
0i32,
0i32.to_value()
.get::<Value>()
.unwrap()
.get::<i32>()
.unwrap()
);
}
#[test]
pub fn to_value_boxed() {
let x = 0i32.to_value();
let boxed = BoxedValue(x);
assert_eq!(
0i32,
boxed
.to_value()
.to_value()
.get::<BoxedValue>()
.unwrap()
.deref()
.get::<i32>()
.unwrap()
);
assert_eq!(
0i32,
boxed
.to_value()
.get::<Value>()
.unwrap()
.get::<BoxedValue>()
.unwrap()
.deref()
.get::<i32>()
.unwrap()
);
}