예제 #1
0
        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);
예제 #2
0
 public Test InitObject_WithComplexObject_Returns_FullyInstancedObject()
 => RecursiveObjectActivator.CreateInstance <Test>();