public void AddComplexObjectThenGetReturnsCachedObject() { var sut = new CachingService(); sut.Add(TestKey, new ComplexTestObject()); var actual = sut.Get<ComplexTestObject>(TestKey); var expected = new ComplexTestObject(); Assert.AreEqual(ComplexTestObject.SomeMessage, ComplexTestObject.SomeMessage); Assert.AreEqual(expected.SomeItems, actual.SomeItems); }
public void AddComplexObjectThenGetReturnsCachedObject() { var sut = new CachingService(); sut.Add(TestKey, new ComplexTestObject()); var actual = sut.Get <ComplexTestObject>(TestKey); var expected = new ComplexTestObject(); Assert.AreEqual(ComplexTestObject.SomeMessage, ComplexTestObject.SomeMessage); Assert.AreEqual(expected.SomeItems, actual.SomeItems); }
public void ComplexObjectToDynamicTest() { var obj = new ComplexTestObject(); var dyn = this.InstanceToDynamic(obj); Assert.IsTrue(dyn is ExpandoObject); this.AssertTestObject(dyn.NestedA); this.AssertTestObject(dyn.NestedB); this.AssertTestObject(dyn.Self.NestedA); this.AssertTestObject(dyn.Self.Self.NestedA); this.AssertTestObject(dyn.Self.Self.Self.NestedA); this.AssertTestObject(dyn.Self.Self.Self.Self.NestedA); // I could go on... Assert.AreSame(dyn.NestedA, dyn.NestedB); // literally the same object! Assert.AreSame(dyn, dyn.Self); // also, literally the same object! }
public void BeforeEachTest() { sut = BuildCache(); testObject = new ComplexTestObject(); }
public ComplexTestObject() { this.Self = this; // cyclic! this.NestedA = this.NestedB = new TestObject(); // duplicate! }
public MyTestObject() { Property1 = new ComplexTestObject(); Property2 = new ComplexTestObject(); }
public void BeforeEachTest() { sut = new CachingService(); testObject = new ComplexTestObject(); }