public void GetAllEmployees_5NestedEmployees_5Employees() { // Arrange var hireDate = DateTime.Today; var james = new Salesman("James", hireDate); var john = new Manager("John", hireDate); james.AddSubordinate(john); var jack = new Salesman("Jack", hireDate); john.AddSubordinate(jack); var jo = new Manager("Jo", hireDate); jack.AddSubordinate(jo); var jon = new Manager("Jon", hireDate); jo.AddSubordinate(jon); var jastin = new Employee("Jastin", hireDate); jo.AddSubordinate(jastin); // Act var count = james.GetAllEmployees().Count(); // Assert Assert.AreEqual(5, count); }
public void AddSubordinate_SimpleCycle_ThrowsException() { var topManager = new Manager("Jason", DateTime.Today); var salesman = new Salesman("James", DateTime.Today); topManager.AddSubordinate(salesman); Assert.Throws <InvalidOperationException>(() => salesman.AddSubordinate(topManager)); }
public void OneTimeSetUp() { var hireDate = new DateTime(2020, 7, 11); salesman = new Salesman("James", hireDate); manager = new Manager("John", hireDate); salesman.AddSubordinate(manager); employee = new Employee("Jack", hireDate); manager.AddSubordinate(employee); employee = new Employee("Jo", hireDate); manager.AddSubordinate(employee); }