Exemple #1
0
 public CompositePatternTest()
 {
     minion1    = new Employee("Bob", 300.0);
     minion2    = new Employee("Jack", 200.0);
     minion3    = new Employee("Vincent", 220.0);
     middleBoss = new EmployeeComposite("Sarah", 264.0);
     headBoss   = new EmployeeComposite("Jessica", 310.0);
 }
        public EmployeeEntitiesTests()
        {
            mockVisitor = new Mock <IEmployeeVisitor>();

            employeeLeaf      = new EmployeeLeaf(Employee);
            employeeComposite = new EmployeeComposite(Employee);
            employeeFactory   = new EmployeeComponentFactory();
        }
Exemple #3
0
        public void EmployeeWithSuperiorVisitor_VisitEmployeeComposite_NullEmployeeCompositeShouldRaiseException()
        {
            // Arrange
            EmployeeComposite employeeComposite = null;

            // Act
            Action act = () => employeeWithSuperiorVisitor.VisitEmployeeComposite(employeeComposite);

            // Assert
            ArgumentNullException exception = Assert.Throws <ArgumentNullException>(act);

            Assert.Equal(nameof(employeeComposite), exception.ParamName);
        }
        public void VisitEmployeeComposite(EmployeeComposite employeeComposite)
        {
            if (employeeComposite is null)
            {
                throw new ArgumentNullException(nameof(employeeComposite));
            }

            if (employeeComposite.Employee.Id.ToString() == _superiorId)
            {
                EmployeesWithSuperior = employeeComposite
                                        .EmployeeComponents.Select(c => c.Employee)
                                        .ToList();
            }
        }
Exemple #5
0
        public void EmployeeWithSuperiorVisitor_VisitEmployeeComposite_SuperiorEmployeeCompositeShouldAddSubordinatedToList()
        {
            // Arrange
            EmployeeComposite superiorEmployee = CreateSuperiorComposite();

            List <IEmployee> expectedList = new List <IEmployee> {
                SubordinatedEmployee1, SubordinatedEmployee2
            };

            // Act
            employeeWithSuperiorVisitor.VisitEmployeeComposite(superiorEmployee);
            var result = employeeWithSuperiorVisitor.EmployeesWithSuperior;

            // Assert
            result.Should().BeEquivalentTo(expectedList);
        }
Exemple #6
0
        private EmployeeComposite CreateSuperiorComposite()
        {
            var superiorEmployee = SuperiorEmployee;

            var subordinatedEmployee1 = SubordinatedEmployee1;
            var subordinatedEmployee2 = SubordinatedEmployee2;

            var subordinatedComposite1 = new EmployeeComposite(subordinatedEmployee1);
            var subordinatedComposite2 = new EmployeeComposite(subordinatedEmployee2);

            var superiroComposite = new EmployeeComposite(superiorEmployee);

            superiroComposite.Add(subordinatedComposite1);
            superiroComposite.Add(subordinatedComposite2);

            return(superiroComposite);
        }
Exemple #7
0
 public void VisitEmployeeComposite(EmployeeComposite employeeComposite)
 {
     VisitEmployeeComponent(employeeComposite);
 }