예제 #1
0
        public void TestChargerNotON()
        {
            int id = 5;

            _rFIDReader.RfidEvent += Raise.EventWith(new RFIDEventArgs {
                RFID = id
            });
            _door.DidNotReceive().LockedDoor();
        }
예제 #2
0
 public void RfidOpen()
 {
     door.DoorOpened     += Raise.EventWith(new object(), new EventArgs());
     reader.RfidDetected += Raise.EventWith(new object(), new RfidDetectedEventArgs(1));
     door.DidNotReceive().UnlockDoor();
     door.DidNotReceive().LockDoor();
     display.DidNotReceive().CloseDoorErrorMsg();
     display.DidNotReceive().UnlockDoorErrorMsg();
 }
예제 #3
0
        public void Rfid_AvailableState_NoConnection(int id)
        {
            RfidEventArgs RfidArgs = new RfidEventArgs(id);

            _chargeControl.connection_establishment().Returns(false);
            _rfidreader.RfidHandler += Raise.EventWith(RfidArgs);

            _door.DidNotReceive().Lock();
            _chargeControl.DidNotReceive().charge_control_start();
            _disp.Received().PrintStationMsg(_NoConnectionMsg);
        }
예제 #4
0
        public void Test_HandleRFIDChangedEvent_WhenAvailableAndChargeControlNotConnected_RFIDChangedEventRaised_MethodCallCorrect()
        {
            _chargeControl.IsConnected().Returns(false);
            _rfidReader.RFIDChangedEvent += Raise.EventWith(new RFIDChangedEventArgs {
                RFID = 10
            });

            _door.DidNotReceive().LockDoor();
            _usbCharger.DidNotReceive().StartCharge();
            _fileWriter.DidNotReceive().LogDoorLocked(10);
            _display.Received().WriteMessage("Phone not connected properly, try connecting again");
        }
예제 #5
0
        public void LockDoor_WhenPhoneLockerIsAvailableAndChargerNotConnectedRfidDetected_CallNotReceived()
        {
            //ARRANGE
            UUT.State = PhoneLockerState.Available;

            fakeChargeControl.Connected = false;

            //ACT
            fakeRfidReader.RFIDDetectedEvent += Raise.EventWith(new RFIDDetectedEventArgs()
            {
                RFID = 0
            });

            //ASSERT
            fakeDoor.DidNotReceive().LockDoor();
        }
        public void RFIdDetected_MobileNotConnectedAndAvaliable_ConnectingError()
        {
            _usbCharger.CurrentValueEvent += Raise.EventWith <CurrentEventArgs>(this, new CurrentEventArgs()
            {
                Current = 0
            });
            _rfidReader.RfidEvent += Raise.EventWith(new RfidEventArgs {
                RfID = 123456
            });

            _display.Received(1).Print("Din telefon er ikke ordentlig tilsluttet. Prøv igen.");

            _door.DidNotReceive().LockDoor();
            _chargeControl.DidNotReceive().StartCharge();
            _fileLog.DidNotReceive().LogDoorLocked(123456);
            _display.DidNotReceive().Print("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.");
        }
        public void RequestEntry_GetInValidID_DoorDoesntOpen()
        {
            _userValidation.ValidateEntryRequest(0).Returns(false);

            _uut.RequestEntry(0);

            //Assert that
            _door.DidNotReceive().Open();
        }
        public void RequestEntry_CallingDoorOpenWrongID_OpenNotCalled()
        {
            _userValidation.ValidateEntryRequest("WrongID").Returns(false);

            uut.RequestEntry("WrongID");


            _door.DidNotReceive().Open();
        }
        public void RequestEntryTest_InvalidId_DoorOpenNotCalled()
        {
            // Arrange
            _userValidation.ValidateEntryRequest("test").ReturnsForAnyArgs(false);

            // Act
            _uut.RequestEntry("test");

            // Assert
            _door.DidNotReceive().Open();
        }
예제 #10
0
        public void RfidDetected_Available_ChargerNotConnected()
        {
            //Act + Arrange
            _chargeControl.IsConnected().Returns(false);
            const int id = 5;

            _reader.RfidEvent += Raise.EventWith(new RfidEventArgs()
            {
                Id = id
            });

            //Assert
            Assert.Multiple(() =>
            {
                _door.DidNotReceive().LockDoor();
                _chargeControl.DidNotReceive().StartCharge();
                _log.DidNotReceive().LogDoorLocked(id);
                _display.Received().ShowMessage("Din telefon er ikke ordentlig tilsluttet. Prøv igen.");
            });
        }
        public void RequestEntryOpensDoorTest_StateDoorClosed(int id, bool doorOpened)
        {
            _UUT.RequestEntry(id);

            if (doorOpened)
            {
                _door.Received(1).Open();
            }
            else
            {
                _door.DidNotReceive().Open();
            }
        }
예제 #12
0
        public void InitialRfid_DoorOpened()
        {
            _iDoor.DoorOpenEvent += Raise.EventWith(new DoorOpenChangedEventArgs());
            var id = 12;

            _iReader.TagDataEvent += Raise.EventWith(new ReadtagChangedEventArgs()
            {
                Tag = id
            });
            _iDoor.DidNotReceive().LockDoor();
            _iDisplay.DidNotReceive().DisplayMessage("Døren er låst");
            _iChargeControl.DidNotReceive().Regulate();
        }
예제 #13
0
        public void RfidDetected_chargingNotConnectedÉlse_DoorNotLocked()
        {
            //Arrange
            _usbCharger    = Substitute.For <IUsbCharger>();
            _door          = Substitute.For <IDoor>();
            _chargeControl = new ChargeControl(_usbCharger, _display);


            _usbCharger.Connected.Returns(false);



            uut.RfidDetected(100);

            _door.DidNotReceive().LockDoor();
        }
        public void HandleRfidDetectedWhileDoorOpen_EventFired_NothingHappened()
        {
            //Setup
            uut.State = StationControl.LadeskabState.DoorOpen;
            _rfidReader.IdRegisteredEvent += Raise.EventWith(new RfidEventArgs()
            {
                Id = 4
            });


            //Assert
            _output.DidNotReceive();
            _writer.DidNotReceive();
            _display.DidNotReceive();
            _chargerControl.DidNotReceive();
            _door.DidNotReceive();
        }
예제 #15
0
 public void HandleDoorStateChangedLockedTest()
 {
     _chargeControl.IsConnected().Returns(true);
     _RFIDReader.RFIDReadEvent += Raise.EventWith <RFIDReadEventArgs>(new RFIDReadEventArgs()
     {
     });
     _chargeControl.ClearReceivedCalls();
     _RFIDReader.ClearReceivedCalls();
     _door.DoorStateChangedEvent += Raise.EventWith <DoorStateEventArgs>(new DoorStateEventArgs()
     {
         Open = true
     });
     _door.DidNotReceive();
     _chargeControl.DidNotReceive();
     _display.DidNotReceive();
     _logfile.DidNotReceive();
     _RFIDReader.DidNotReceive();
 }
        public void UnlockDoor_CheckCorrectID_Wrong()
        {
            int oldId = 3;
            int newId = 5;

            _chargeControl.IsConnected().Returns(true);
            _rfidReader.RFIDChangedEvent += Raise.EventWith(new RFIEDEventArgs {
                RFID = oldId
            });

            _rfidReader.RFIDChangedEvent += Raise.EventWith(new RFIEDEventArgs {
                RFID = newId
            });

            _logFile.DidNotReceive().LogDoorUnlocked(newId);
            _chargeControl.DidNotReceive().StopCharge();
            _door.DidNotReceive().UnlockDoor();

            _display.Received(1).Print("Forkert RFID tag");
        }
 public void RequestEntry_CardDbApprovesEntryRequest_DoorCloseNotCalled()
 {
     _uut.RequestEntry("TFJ");
     Door.DidNotReceive().Close();
 }
예제 #18
0
 public void RequestEntry_invalidId_DoorDoesNotOpen()
 {
     _userValidation.ValidateEntryRequest(Arg.Any <string>()).Returns(false);
     _uut.RequestEntry("not valid");
     _door.DidNotReceive().Open();
 }
예제 #19
0
 public void RequestEntry_CardDbDeniesEntryRequest_DoorNotOpened()
 {
     _uut.RequestEntry("TFJ");
     Door.DidNotReceive().Open();
 }