Example #1
0
        // 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;
            }
        }
Example #2
0
 public void TestLockDoor_StateIsDoorClosed()
 {
     _lock.LockDoor();
     Assert.That(_lock.LockState, Is.EqualTo(ELockState.LockClosed));
 }