Exemple #1
0
 public void HandleCharge(IControl stationControl, ChargerEventArgs args)
 {
     if (args.Type == ChargerEventType.ChargingError)
     {
         stationControl.Disp.DisplayMessage("ERROR: Charger overcurrent detected! Disabling charger...");
     }
 }
 private void ChargerHandleEvent(object sender, ChargerEventArgs CEA)
 {
     ChargeWatt = CEA.Current;
     if (ChargeWatt <= 5)
     {
         StopCharge();
     }
     else if (ChargeWatt > 500)
     {
         StopCharge();
     }
 }
        public void HandleChargerEvent_CurrentIs1_ChargingStopped()
        {
            //Clear subs
            _fakeUsbCharger.ClearReceivedCalls();
            //Arrange
            ChargerEventArgs evt = Substitute.For <ChargerEventArgs>();

            evt.Current = 1;
            //Act
            _uut.HandleChargerEvent(new object(), evt);
            //Assert
            _fakeUsbCharger.Received(1).StopCharge();
        }
        public void HandleChargerEvent_CurrentIs0_NotConnected()
        {
            //Clear subs
            _fakeUsbCharger.ClearReceivedCalls();
            //Arrange
            ChargerEventArgs evt = Substitute.For <ChargerEventArgs>();

            evt.Current = 0;
            //Act
            _uut.HandleChargerEvent(new object(), evt);
            //Assert
            Assert.That(_uut.Connected, Is.False);
        }
        public void HandleCharge_CalledWithChargingError_DisplaysCorrectMessage()
        {
            //ARRANGE
            ChargerEventArgs args = new ChargerEventArgs();

            args.Type = ChargerEventType.ChargingError;

            //ACT
            uut.HandleCharge(controlSubstitute, args);

            //ASSERT
            controlSubstitute.Disp.Received().DisplayMessage("ERROR: Charger overcurrent detected! Disabling charger...");
        }
        public void HandleCharge_CalledWithNotCharging_MakesNoCalls()
        {
            //ARRANGE
            ChargerEventArgs args = new ChargerEventArgs();

            args.Type = ChargerEventType.NotCharging;

            //ACT
            uut.HandleCharge(controlSubstitute, args);

            //ASSERT
            //Assert that substitute received no calls
            Assert.That(controlSubstitute.ReceivedCalls().Count(), Is.EqualTo(0));
        }
Exemple #7
0
        public void ChargeControlUnitTestsSetup()
        {
            UsbChargerSubstitute = Substitute.For <IUsbCharger>();
            uut = new ChargeControl(UsbChargerSubstitute);

            //Handling ChargeEvents
            chargerEventInvoked = false;
            chargerEventArgs    = null;
            uut.ChargeEvent    += (o, e) =>
            {
                chargerEventInvoked = true;
                chargerEventArgs    = e;
            };
        }
Exemple #8
0
 // Event handlers
 public void HandleChargerEvent(object?sender, ChargerEventArgs e)
 {
     if (e.Current == 0)
     {
     }
     else if (e.Current <= 5)
     {
         Console.WriteLine("Telefon opladt");
         StopCharge();
     }
     else if (e.Current <= 500)
     {
         Console.WriteLine("Telefon lader");
     }
     else if (e.Current > 500)
     {
         Console.WriteLine("Kortslutning! Ladning stoppes");
         StopCharge();
     }
 }
Exemple #9
0
        private void OnUsbChargerCurrentValueEvent(object sender, CurrentEventArgs args)
        {
            //Not charging
            if (args.Current == 0)
            {
                //Inform subscribers
                ChargerEventArgs eventArgs = new ChargerEventArgs();
                eventArgs.Type = ChargerEventType.NotCharging;

                ChargeEvent.Invoke(this, eventArgs);
            }
            //Completed charging
            else if (0 < args.Current && args.Current <= 5)
            {
                //Stop charging and inform subscribers
                UsbCharger.StopCharge();
                ChargerEventArgs eventArgs = new ChargerEventArgs();
                eventArgs.Type = ChargerEventType.FinishedCharging;

                ChargeEvent.Invoke(this, eventArgs);
            }
            //Charging normally
            else if (5 < args.Current && args.Current <= 500)
            {
                //Continue charging and inform subscribers
                ChargerEventArgs eventArgs = new ChargerEventArgs();
                eventArgs.Type = ChargerEventType.ChargingNormally;

                ChargeEvent.Invoke(this, eventArgs);
            }
            //Charge error
            else if (500 < args.Current)
            {
                //Stop charging and inform subscribers
                UsbCharger.StopCharge();
                ChargerEventArgs eventArgs = new ChargerEventArgs();
                eventArgs.Type = ChargerEventType.ChargingError;

                ChargeEvent.Invoke(this, eventArgs);
            }
        }
Exemple #10
0
        public void HandleCharge(IControl stationControl, ChargerEventArgs args)
        {
            switch (args.Type)
            {
            case ChargerEventType.ChargingError:
                stationControl.Disp.DisplayMessage("ERROR: Charger overcurrent detected! Disabling charger...");
                stationControl.Disp.DisplayMessage("Scan RFID to remove phone");
                break;

            case ChargerEventType.ChargingNormally:
                stationControl.Disp.DisplayMessage("Charging in progress...");
                break;

            case ChargerEventType.FinishedCharging:
                stationControl.Disp.DisplayMessage("Phone charging complete. Please scan RFID tag and remove phone");
                break;

            case ChargerEventType.NotCharging:
                break;
            }
        }
 public void OnChargeControlChargeEvent(object sender, ChargerEventArgs e)
 {
     State.HandleCharge(this, e);
 }