// 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 (_charger.IsConnected()) { _lock.LockDoor(); _charger.StartCharge(); _oldId = id; _logger.LogDoorLocked(_oldId); _display.DisplayString("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op."); _state = LadeskabState.Locked; } else { _display.DisplayString("Din telefon er ikke ordentlig tilsluttet. Prøv igen."); } break; //case LadeskabState.DoorOpen: // Ignore //break; case LadeskabState.Locked: // Check for correct ID if (CheckID(id)) { _charger.StopCharge(); _lock.UnlockDoor(); _logger.LogDoorUnlocked(id); _display.DisplayString("Tag din telefon ud af skabet og luk døren"); _state = LadeskabState.Available; } else { _display.DisplayString("Forkert RFID tag"); } break; } }
public void TestLockDoor_StateIsDoorClosed() { _lock.LockDoor(); Assert.That(_lock.LockState, Is.EqualTo(ELockState.LockClosed)); }