public void Traverse_InnerInstance() { var instance = new TraverseNestedTypes(null); var trv1 = Traverse.Create(instance); var field1 = trv1.Field("innerInstance").Field("inner2").Field("field"); field1.SetValue("somevalue"); var trv2 = Traverse.Create(instance); var field2 = trv2.Field("innerInstance").Field("inner2").Field("field"); Assert.AreEqual("somevalue", field2.GetValue()); }
public void Traverse_InnerStatic() { var trv1 = Traverse.Create(typeof(TraverseNestedTypes)); var field1 = trv1.Field("innerStatic").Field("inner2").Field("field"); field1.SetValue("somevalue1"); var trv2 = Traverse.Create(typeof(TraverseNestedTypes)); var field2 = trv2.Field("innerStatic").Field("inner2").Field("field"); Assert.AreEqual("somevalue1", field2.GetValue()); var _ = new TraverseNestedTypes("somevalue2"); var value = Traverse.Create(typeof(TraverseNestedTypes)).Type("InnerStaticClass1").Type("InnerStaticClass2") .Field("field").GetValue <string>(); Assert.AreEqual("somevalue2", value); }
public void Traverse_InnerStatic() { var trv1 = Traverse.Create(typeof(TraverseNestedTypes)); var field1 = trv1.Field("innerStatic").Field("inner2").Field("field"); field1.SetValue("somevalue1"); var trv2 = Traverse.Create(typeof(TraverseNestedTypes)); var field2 = trv2.Field("innerStatic").Field("inner2").Field("field"); // Assert.AreEqual("somevalue1", field2.GetValue()); Warn.If("somevalue1" != (string)field2.GetValue(), "Bug in harmony 1.2.0.1, GetValue returns null instead of field value"); var _ = new TraverseNestedTypes("somevalue2"); var value = Traverse .Create(typeof(TraverseNestedTypes)) .Type("InnerStaticClass1") .Type("InnerStaticClass2") .Field("field") .GetValue <string>(); Assert.AreEqual("somevalue2", value); }