public void TestClass()
        {
            var testData = new TestData
            {
                Name = "name"
            };
            var deepClonerStateHolder = new DeepClonerStateHolder(TestClaptrapIdentity.Instance);
            var re = deepClonerStateHolder.DeepCopy(testData);

            re.Should().NotBe(testData);
            re.Should().BeOfType <TestData>();
            ((TestData)re).Name.Should().Be(testData.Name);
        }
        public void TestList()
        {
            const int listCount = 10;
            var       testData  = new TestData
            {
                List = Enumerable.Range(0, listCount).ToList()
            };
            var deepClonerStateHolder = new DeepClonerStateHolder(TestClaptrapIdentity.Instance);
            var re = deepClonerStateHolder.DeepCopy(testData);

            re.Should().NotBe(testData);
            re.Should().BeOfType <TestData>();
            ((TestData)re).List.Clear();
            testData.List.Count.Should().Be(listCount);
        }