public void InitObject_WithComplexObject_Returns_FullyInstancedObject() { // Act var result = RecursiveObjectActivator.CreateInstance <Test>(); // Assert Assert.NotNull(result); Assert.NotNull(result.CycleTest); Assert.NotNull(result.CycleTest.CircularReference); Assert.NotNull(result.CycleTest.CircularReference._CircularReference); Assert.Null(result.CycleTest.CircularReference._CircularReference._CircularReference); Assert.NotNull(result.CycleTest.ObjectCycle); Assert.NotNull(result.CycleTest.ObjectCycle.CircularReference); Assert.NotNull(result.CycleTest.ObjectCycle.CircularReference._CircularReference); Assert.Null(result.CycleTest.ObjectCycle.CircularReference._CircularReference._CircularReference); Assert.NotNull(result.CycleTest.ObjectCycle.CycleTest); Assert.Null(result.CycleTest.ObjectCycle.CycleTest.ObjectCycle); Assert.NotNull(result.CycleTest.ObjectCycle.CycleTest.CircularReference); Assert.Equal(default, result.UnusualReferenceType);
public Test InitObject_WithComplexObject_Returns_FullyInstancedObject() => RecursiveObjectActivator.CreateInstance <Test>();