public void testDisplayConnected() { //Act _door.OpenDoorEvent += Raise.EventWith(new OpenDoorEventArgs { DoorOpen = "Door is open" }); _door.ClosedDoorEvent += Raise.EventWith(new ClosedDoorEventArgs { DoorClosed = "Door is closed" }); _chargeControl.isConnected().Returns(true); _rfidReader.RfidDetectedEvent += Raise.EventWith(new RfidDetectedEventArgs { id = 123 }); //Assert Assert.That(_display.ReceivedString, Is.EqualTo("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.")); }
public void isConnected_Returns_TrueOrFalse(bool setConnection) { //Arrange _usbCharger.Connected.Returns(setConnection); //Act var connection = _chargeControl.isConnected(); //Assert Assert.AreEqual(setConnection, connection); }
// Eksempel på event handler for eventet "RFID Detected" fra tilstandsdiagrammet for klassen private void RfidDetected(int id) { switch (_state) { case LadeskabState.Available: // Check for ladeforbindelse if (_chargeControl.isConnected()) { _Door.LockDoor(); _chargeControl.StartCharge(); _oldId = id; using (var writer = File.AppendText(logFile)) { writer.WriteLine(DateTime.Now.ToLongDateString() + ": Skab låst med RFID: {0}", id); } _Display.displayCommands("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op."); _state = LadeskabState.Locked; } else { _Display.displayCommands("Din telefon er ikke ordentlig tilsluttet. Prøv igen."); } break; case LadeskabState.DoorOpen: // Ignore break; case LadeskabState.Locked: // Check for correct ID if (id == _oldId) { _chargeControl.StopCharge(); _Door.UnlockDoor(); using (var writer = File.AppendText(logFile)) { writer.WriteLine(DateTime.Now.ToLongDateString() + ": Skab låst op med RFID: " + id.ToString()); } _Display.displayCommands("Tag din telefon ud af skabet og luk døren"); _state = LadeskabState.Available; } else { _Display.displayCommands("Forkert RFID tag"); } break; } }
public void TestDoorStateChangedDetected_DoorLockedFalse_Display() { //Arrange _chargeControl.isConnected().Returns(true); _rfid.RfidEvent += Raise.EventWith(new RfidEventArgs() { Rfid_ID = 1234 }); //Act _door.DoorEvent += Raise.EventWith(new DoorEventArgs() { DoorClosed = false }); //Assert _display.Received().displayCommands("Locker is occupied"); }
public void RfidDetected(int id_rfid) { switch (_state) { case LadeSkabsState.Locked: if (CheckId(_oldId, id_rfid)) { _chargeControl.stopCharge(); _door.unlockDoor(); _log.PrintToFile(": Skab låst op med RFID: ", id_rfid); _display.display("Tag din telefon ud af skabet og luk døren", 1); _state = LadeSkabsState.Available; } else { _display.display("Forkert RFID tag", 1); } break; // case LadeSkabsState.DoorOpen: // break; case LadeSkabsState.Available: if (_chargeControl.isConnected()) { _door.lockDoor(); _chargeControl.startCharge(); _oldId = id_rfid; _log.PrintToFile(": Skab låst med RFID: ", id_rfid); _display.display("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.", 1); _state = LadeSkabsState.Locked; } else { _display.display("Din telefon er ikke ordentlig tilsluttet. Prøv igen", 1); } break; } }
public void ConnectPhone_RFIDscanned_PhoneNotConnected() { //Arrange _subChargeControl.isConnected().Returns(false); //Act _subScanner.ScanEvent += Raise.EventWith(new ScanEventArgs() { ScannedId = 10 }); //Assert _subDisplay.Received(1).ConnectionError(); }
/* Region content: * RfidDetected(object o, ScanEventArgs e) * DoorChanged(object o, DoorEventArgs e) */ #region Handlers // method for event handler in RFIDscanner. private void RfidDetected(object o, ScanEventArgs e) { switch (_state) { case LadeskabState.Available: // Check for ladeforbindelse if (_charger.isConnected()) { _door.LockDoor(); _oldId = e.ScannedId; _Log.LogDoorLocked(e.ScannedId); _charger.StartCharge(); _display.Busy(); _state = LadeskabState.Locked; } else { _display.ConnectionError(); } break; case LadeskabState.DoorOpen: // Ignore break; case LadeskabState.Locked: // Check for correct ID if (e.ScannedId == _oldId) { _charger.StopCharge(); _door.UnlockDoor(); _Log.LogDoorUnlocked(e.ScannedId); _display.PhoneDone(); _state = LadeskabState.Available; } else { _display.RFIDError(); } break; } }
public void test_LadeSkabsStateLocked_false_id_connected_false() { _chargeControl.isConnected().Returns(false); _rfidReader.RfidDetectedEvent += Raise.EventWith(new RfidDetectedEventArgs { id = 123 }); _rfidReader.RfidDetectedEvent += Raise.EventWith(new RfidDetectedEventArgs { id = 123 }); _display.Received(2).display("Din telefon er ikke ordentlig tilsluttet. Prøv igen", 1); }
public void RfidDetected_DoorStatusFalse_ChargeIsConnectedTrue_DoorReceived_LockDoor(int TestId) { _door.CurrentDoorStatus.Returns(false); _chargeControl.isConnected().Returns(true); _rfidReader.RFIDValueEvent += Raise.EventWith(new RFIDEventArgs { id = TestId }); _door.Received().LockDoor(); }
public void RfidDetected(object sender, RFIDEventArgs e) { _id = e.id; switch (_state) { case LadeskabState.Available: #if DEBUG Console.WriteLine("DEBUG:::_state = LadeskabState.Available"); #endif if (_door.CurrentDoorStatus == true) { _display.DisplayDoorOpen(); } else { // Check for ladeforbindelse if (_charger.isConnected()) { _door.LockDoor(); _charger.StartCharge(); _oldId = _id; _log.LogDoorLocked(_id); _display.DisplayChargeLockerOccupied(); _state = LadeskabState.Locked; #if DEBUG Console.WriteLine("DEBUG:::_state after = " + _state); #endif } else { _display.DisplayFailedConnection(); } } break; //case LadeskabState.DoorOpen: // // Ignore // break; case LadeskabState.Locked: // Check for correct ID #if DEBUG Console.WriteLine("DEBUG:::_state = LadeskabState.Locked"); #endif if (_id == _oldId) { _charger.StopCharge(); _door.UnlockDoor(); _log.LogDoorUnlocked(_id); _display.DisplayRemovePhone(); _state = LadeskabState.Available; } else { _display.DisplayWrongRFID(); _log.LogDoorTriedUnlockedWithWrongId(_id); } break; } }