public void GivenAPayRollFileFormatThenAListOFStaffIsCreated() { var name1 = "Joe"; var typeName1 = "Manager"; var name2 = "Sue"; var typeName2 = "Admin"; var exampleData = $"{name1}, {typeName1}" + Environment.NewLine + $"{name2}, {typeName2}"; var expectedStaff = new Mock <IStaff>(); var fakeFactoryStaff = new Mock <IFactoryStaff>(); fakeFactoryStaff .Setup(f => f.Create(It.IsAny <string>(), It.IsAny <string>())) .Returns(expectedStaff.Object); var staffType = new StaffType(fakeFactoryStaff.Object); var staff = staffType.ReadFromStream(GenerateStreamFromString(exampleData)); fakeFactoryStaff .Verify(f => f.Create(typeName1, name1)); fakeFactoryStaff .Verify(f => f.Create(typeName2, name2)); Assert.That(staff.Count, Is.EqualTo(2)); Assert.That(staff, Has.Member(expectedStaff.Object)); }
public void GivenManagerThenManagersAreCreated(string typeName, string name) { var exampleData = $"{name}, {typeName}"; var expectedStaff = new Mock <IStaff>(); var fakeFactoryStaff = new Mock <IFactoryStaff>(); fakeFactoryStaff .Setup(f => f.Create(It.IsAny <string>(), It.IsAny <string>())) .Returns(expectedStaff.Object); var staffType = new StaffType(fakeFactoryStaff.Object); var staff = staffType.ReadFromStream(GenerateStreamFromString(exampleData)); fakeFactoryStaff .Verify(f => f.Create(typeName, name)); Assert.That(staff.Count, Is.EqualTo(1)); Assert.That(staff, Has.Member(expectedStaff.Object)); }