public void Factory_Visitor_Default()
        {
            //Arrange
            var defaultVisitor = _factory.GetVisitor("default", typeof(ForFact1));
            var x = new ForFact1 {
                Id = 1, Fact2 = new ForFact2()
            };

            //act
            defaultVisitor.Visit(x);


            //Assert
            Assert.IsNotNull(x.Id == 2 && x.Fact2.Name == null);
        }
        public void Factory_Visitor_Name2()
        {
            //Arrange
            var cat2Visitor = _factory.GetVisitor("name2", typeof(ForFact1));
            var x           = new ForFact1 {
                Id = 1, Fact2 = new ForFact2 {
                    Name = "..."
                }
            };

            //act
            cat2Visitor.Visit(x);


            //Assert
            Assert.IsTrue(x.Id == 1 && x.Fact2.Name == "visited");
        }