public override void Accept(IEmployeeVisitor visitor) { if (visitor is null) { throw new ArgumentNullException(nameof(visitor)); } visitor.VisitEmployeeLeaf(this); }
public void EmployeeLeaf_Accept_VisitEmployeeLeafShouldBeCalled() { // Arrange IEmployeeVisitor visitor = mockVisitor.Object; // Act employeeLeaf.Accept(visitor); // Assert mockVisitor.Verify(mock => mock.VisitEmployeeLeaf(It.Is <EmployeeLeaf>(e => e == employeeLeaf)), Times.Once); }
public override void Accept(IEmployeeVisitor visitor) { if (visitor is null) { throw new ArgumentNullException(nameof(visitor)); } EmployeeComponents.ForEach(employeeComponent => employeeComponent.Accept(visitor)); visitor.VisitEmployeeComposite(this); }
public void Visit(IEmployeeVisitor visitor) { foreach (var probationer in _persons) { var employee = probationer as IEmployee; if (employee != null) { visitor.Visit(employee); } } }
public void EmployeeLeaf_Accept_NullVisitorShouldRaiseException() { // Arrange IEmployeeVisitor visitor = null; // Act Action act = () => employeeLeaf.Accept(visitor); // Assert ArgumentNullException exception = Assert.Throws <ArgumentNullException>(act); Assert.Equal(nameof(visitor), exception.ParamName); }
public void EmployeeComposite_Accept_AllSuboridinatesAcceptShouldBeCalled() { // Arrange var mockSubordinate1 = new Mock <EmployeeLeaf>(SubordinatedEmployee1); var mockSubordinate2 = new Mock <EmployeeLeaf>(SubordinatedEmployee2); employeeComposite.Add(mockSubordinate1.Object); employeeComposite.Add(mockSubordinate2.Object); IEmployeeVisitor visitor = mockVisitor.Object; // Act employeeComposite.Accept(visitor); // Assert mockSubordinate1.Verify(mock => mock.Accept(It.Is <IEmployeeVisitor>(e => e == visitor)), Times.Once); mockSubordinate2.Verify(mock => mock.Accept(It.Is <IEmployeeVisitor>(e => e == visitor)), Times.Once); }
public void Accept(IEmployeeVisitor visitor) { visitor.Visit(this); }
public void Accept(IEmployeeVisitor visitor) => visitor.VisitCompositeElement(this);
public string Accept(IEmployeeVisitor visitor) { return(visitor.Visit()); }
public void Accept(IEmployeeVisitor visitor) => visitor.VisitLeafNode(this);
public abstract void Accept(IEmployeeVisitor visitor);
public override void Accept(IEmployeeVisitor visitor) { visitor.VisitHourlyEmployee(this); }
public override void Accept(IEmployeeVisitor visitor) { visitor.VisitSalariedEmployee(this); }