MCPcopy Create free account
hub / github.com/ciphermodelabs/ciphercore / test_deep_clone

Function test_deep_clone

ciphercore-base/src/data_values.rs:1980–2005  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1978
1979 #[test]
1980 fn test_deep_clone() {
1981 || -> Result<()> {
1982 let v = Value::from_vector(vec![
1983 Value::from_scalar(123, INT64)?,
1984 Value::from_flattened_array(&[-1, 1, -2, 2], INT64)?,
1985 ]);
1986 let v1 = v.deep_clone();
1987 assert!(!Arc::ptr_eq(&v.body, &v1.body));
1988 let vv = v.to_vector()?;
1989 let vv1 = v1.to_vector()?;
1990 assert_eq!(vv.len(), 2);
1991 assert_eq!(vv1.len(), 2);
1992 assert!(!Arc::ptr_eq(&vv[0].body, &vv1[0].body));
1993 assert!(!Arc::ptr_eq(&vv[1].body, &vv1[1].body));
1994 let vv_a = vv[0].to_i64(INT64)?;
1995 let vv_b = vv[1].to_flattened_array_i64(array_type(vec![2, 2], INT64))?;
1996 let vv1_a = vv1[0].to_i64(INT64)?;
1997 let vv1_b = vv1[1].to_flattened_array_i64(array_type(vec![2, 2], INT64))?;
1998 assert_eq!(vv_a, 123);
1999 assert_eq!(vv_b, &[-1, 1, -2, 2]);
2000 assert_eq!(vv1_a, 123);
2001 assert_eq!(vv1_b, &[-1, 1, -2, 2]);
2002 Ok(())
2003 }()
2004 .unwrap();
2005 }
2006
2007 #[test]
2008 fn test_from_ndarray() {

Callers

nothing calls this directly

Calls 5

deep_cloneMethod · 0.80
to_i64Method · 0.80
array_typeFunction · 0.70
to_vectorMethod · 0.45

Tested by

no test coverage detected