#[ test ] fn reflect_basic_test() { use reflect::Entity; let ins = Struct1 { f1 : 1, f2 : "2".into(), f3 : "3", }; a_id!( reflect::reflect( &ins ).is_container(), true ); a_id!( reflect::reflect( &ins ).len(), 3 ); a_id!( reflect::reflect( &ins ).type_name(), "tests::inc::group1::struct_manual_test::Struct1" ); let names = reflect::reflect( &ins ).elements().map( | e | e.key ).collect::< Vec< _ > >(); a_id!( names, vec![ reflect::Primitive::str( "f1" ), reflect::Primitive::str( "f2" ), reflect::Primitive::str( "f3" ) ] ); let types = reflect::reflect( &ins ).elements().map( | e | e.val.type_name() ).collect::< Vec< _ > >(); a_id!( types, vec![ "i32", "alloc::string::String", "&str" ] ); let f1 = reflect::reflect( &ins ).elements().next().unwrap(); a_id!( f1.key, reflect::Primitive::str( "f1" ) ); a_id!( f1.val.is_container(), false ); a_id!( f1.val.len(), 0 ); a_id!( f1.val.type_name(), "i32" ); a_id!( f1.val.elements().collect::< Vec< _ > >(), vec![] ); }