public void ReadsCommandsFromFile() { var factoryMock = new Mock <ICommandFactory>(); factoryMock .Setup(f => f.ParseCommand(It.Is <string>(c => c == "Driver Bob"))) .Returns(new DriverCommand("Bob")); factoryMock .Setup(f => f.ParseCommand(It.Is <string>(c => c == "Driver Alice"))) .Returns(new DriverCommand("Alice")); var inputReader = new InputFileReader(factoryMock.Object); inputReader.ReadCommands(_testCommandsFile).Should() .BeEquivalentTo(new[] { new DriverCommand("Bob"), new DriverCommand("Alice") }); }