public void GetPumpsState_PumpList_ReturnsPumpStateForEachPump() { var status = string.Empty; _mockIO.Setup(c => c.SendAndReceive(WayneCommands.GetPumpsState, string.Empty, ref status)) .Callback(() => status = "00") .Returns("0000070001"); var forecourt = new Wayne(_mockIO.Object); var pump1 = new Pump(1); var pump2 = new Pump(2); var pumpList = new List<Pump>() { pump1, pump2 }; var dic = forecourt.GetPumpsState(pumpList); forecourt.Dispose(); status.Should().Be("00"); dic[pump1].Should().Be(PumpState.Delivering); dic[pump2].Should().Be(PumpState.Free); }