public void _7_1_CallCenter_WithTimeBetweenCalls_ShouldHandleCallsSuccessfully() { //Arrange List <Employee> employees = new List <Employee>(); Employee respondent = new Respondent(); employees.Add(respondent); Call call1 = new Call("Billy", "123-1232"); Call call2 = new Call("Bob", "123-1233"); //Act CallCenter testCallCenter = new CallCenter(employees); testCallCenter.DispatchCall(call1); //The call is complete and the employee can take another call testCallCenter.AddEmployeeBackToQueue(respondent); testCallCenter.DispatchCall(call2); //Assert Assert.AreEqual(true, call1.IsCompleted); Assert.AreEqual(true, call2.IsCompleted); }
public void _7_1_CallCenter_WithManagableIncomingCalls_ShouldEscalateCallsSuccessfully() { //Arrange List <Employee> employees = new List <Employee>(); Employee respondent = new Respondent(); Employee manager = new Manager(); Employee director = new Director(); employees.Add(respondent); employees.Add(manager); employees.Add(director); List <Call> incomingCalls = new List <Call>(); Call call1 = new Call("Billy", "123-1232"); Call call2 = new Call("Bob", "123-1233"); Call call3 = new Call("Jim", "123-1234"); incomingCalls.Add(call1); incomingCalls.Add(call2); incomingCalls.Add(call3); //Act CallCenter testCallCenter = new CallCenter(employees); foreach (Call call in incomingCalls) { testCallCenter.DispatchCall(call); } //Assert foreach (Call call in incomingCalls) { Assert.AreEqual(true, call.IsCompleted); } }
public void _7_1_CallCenter_WithTooManyCall_ShouldThrowException() { //Arrange List <Employee> employees = new List <Employee>(); Employee respondent = new Respondent(); employees.Add(respondent); Call call1 = new Call("Billy", "123-1232"); Call call2 = new Call("Bob", "123-1233"); //Act CallCenter testCallCenter = new CallCenter(employees); testCallCenter.DispatchCall(call1); //Assert Assert.Throws <Exception>(() => testCallCenter.DispatchCall(call2)); }