public void ObjectLifecycleWithGCKeepAlive_Success() { LittleObject.destroyedHandle = false; var obj = new LittleObject(); Assert.AreNotEqual(IntPtr.Zero, obj.handle); obj.DummyWithKeepAlive(); }
public void ObjectLifecycleCallDummyStillReferenced_Success() { LittleObject.destroyedHandle = false; var obj = new LittleObject(); Assert.AreNotEqual(IntPtr.Zero, obj.handle); obj.DummyReferencedFromTheOutside(); obj.Dummy(); }
public void TestLittleObjectPrint() { var merger = new MyLittleMerger <LittleObject>(); merger.Initialize(new MergerOptions { AutoAddTypeAssembly = true }); var littleObject = new LittleObject() { LonelyProperty = "Hello there" }; var instanceStructure = new MergerInstanceStructure <LittleObject>(merger.Structure, littleObject); var print = instanceStructure.Print(); Assert.IsTrue(print.Contains($"+ LittleObject")); Assert.IsTrue(print.Contains($"{nameof(LittleObject.LonelyProperty)} - {nameof(String)}: {littleObject.LonelyProperty}")); }
public void TestPropertyNullString() { var merger = new MyLittleMerger <LittleObject>(); merger.Initialize(new MergerOptions { AutoAddTypeAssembly = true }); var item = new LittleObject() { LonelyProperty = null }; var instanceStructure = new MergerInstanceStructure <LittleObject>(merger.Structure, item); var print = instanceStructure.Print(); Assert.IsNull(instanceStructure.Properties.First().Value.First().Value); Assert.IsFalse(instanceStructure.Properties.First().Value.First().HasValue); Assert.IsTrue(print.Contains($"{nameof(LittleObject.LonelyProperty)} - {nameof(String)}: NULL")); }
public void TestLittleObjectStructure() { var merger = new MyLittleMerger <LittleObject>(); merger.Initialize(new MergerOptions { AutoAddTypeAssembly = true }); var littleObject = new LittleObject { LonelyProperty = "Hello there" }; var instanceStructure = new MergerInstanceStructure <LittleObject>(merger.Structure, littleObject); Assert.AreEqual(typeof(LittleObject), instanceStructure.TypeStructure.Type); Assert.IsTrue(instanceStructure.HasValue); Assert.AreEqual(0, instanceStructure.Nodes.Count); Assert.AreEqual(1, instanceStructure.Properties.Count); Assert.AreEqual(1, instanceStructure.Properties.First().Value.Count); Assert.AreEqual(typeof(string), instanceStructure.Properties.First().Value.First().TypeProperty.Type); Assert.AreEqual(littleObject.LonelyProperty, instanceStructure.Properties.First().Value.First().Value); }