예제 #1
0
        public StationControl(IDoorSensor doorSensor, IUserOutput userOutput, IRfidReader rfidReader,
                              IChargeControl chargeControl, ILogger logger, IVerificationUnit verificationUnit)
        {
            //init states
            VACANT_DOOR_CLOSED_NO_PHONE_CONNECTED            = new States.VacantDoorClosedNoPhoneConnected(this);
            VACANT_DOOR_OPEN_NO_PHONE_CONNECTED              = new States.VacantDoorOpenNoPhoneConnected(this);
            VACANT_DOOR_OPEN_PHONE_CONNECTED                 = new States.VacantDoorOpenPhoneConnected(this);
            VACANT_DOOR_CLOSED_PHONE_CONNECTED_AWAITING_RFID = new States.VacantDoorClosedPhoneConnectedAwaitingRFID(this);
            OCCUPIED_DOOR_CLOSED_AWAITING_RFID               = new States.OccupiedDoorClosedAwaitingRFID(this);



            //init properties
            DoorSensor       = doorSensor;
            UserOutput       = userOutput;
            RfidReader       = rfidReader;
            ChargeControl    = chargeControl;
            Logger           = logger;
            VerificationUnit = verificationUnit;


            //Attaching events
            DoorSensor.DoorOpened           += DoorOpenedHandler;
            DoorSensor.DoorClosed           += DoorClosedHandler;
            RfidReader.RfidDetected         += RfidDetectedHandler;
            ChargeControl.PhoneConnected    += PhoneConnectedHandler;
            ChargeControl.PhoneDisconnected += PhoneDisconnectedHandler;


            //Initial state
            SetState(VACANT_DOOR_CLOSED_NO_PHONE_CONNECTED);
        }
예제 #2
0
 public void SetUp()
 {
     _chargerUsb     = Substitute.For <IUsbCharger>();
     _display        = Substitute.For <IDisplay>();
     _stationControl = Substitute.For <IStationControl>();
     uut             = new ChargeControl(_chargerUsb, _display);
 }
예제 #3
0
        public void Setup()
        {
            fakeCharger = Substitute.For <IUsbCharger>();

            _uut          = new ChargeControl(fakeCharger);
            _uut._display = Substitute.For <IDisplay>();
        }
예제 #4
0
        public void Setup()
        {
            //Creating stubs for dependencies
            stubdoor       = Substitute.For <IDoor>();
            stubCharger    = Substitute.For <IChargeControl>();
            stubDisplay    = Substitute.For <IDisplay>();
            stubRFIDReader = Substitute.For <IRFIDReader>();
            stubUsb        = Substitute.For <IUsbCharger>();

            //Initialising classes for tests
            usb            = new UsbChargerSimulator();
            rfidReader     = new RFIDReader();
            display        = new ConcreteDisplay();
            door           = new Door();
            chargeControl  = new ChargeControl(stubUsb);
            stationControl = new StationControl(stubCharger, stubdoor, stubDisplay, stubRFIDReader);

            _rfidEventArgs = null;
            rfidReader.RFIDDetectedEvent += (o, args) => { _rfidEventArgs = args; };

            _doorEventArgs  = null;
            door.DoorEvent += (o, args) => { _doorEventArgs = args; };

            _currentEventArgs      = null;
            usb.CurrentValueEvent += (o, args) => { _currentEventArgs = args; };
        }
예제 #5
0
 public void setup()
 {
     usbCharger_ = Substitute.For <IUsbCharger>();
     console_    = Substitute.For <IConsoleWriteLine>();
     display_    = Substitute.For <IDisplay>();
     uut_        = new ChargeControl(usbCharger_, display_);
 }
        public void Setup()
        {
            _usbCharger    = Substitute.For <IUsbCharger>();
            _consoleWriter = Substitute.For <IConsoleWriter>();

            _uut = new ChargeControl(_usbCharger, _consoleWriter);
        }
예제 #7
0
        public StationControl(ILogger logger, IDisplay display, IDoor door, IRfidReader rfid, IChargeControl chargeCtrl)
        {
            //Modules
            Logger        = logger;
            Disp          = display;
            Door          = door;
            RfidReader    = rfid;
            ChargeControl = chargeCtrl;

            //Ladeskab States
            Available = new AvailableState();
            DoorOpen  = new DoorOpenState();
            Locked    = new LockedState();


            //Events
            ChargeControl.ChargeEvent += OnChargeControlChargeEvent;
            ChargeControl.UnConnectedConnectionEvent    += UnConnectedOnConnectionEvent;
            ChargeControl.UnConnectedDisconnectionEvent += UnConnectedOnDisconnectionEvent;
            ChargeControl.ConnectedConnectionEvent      += ConnectedOnConnectionEvent;
            ChargeControl.ConnectedDisconnectionEvent   += ConnectedOnDisconnectionEvent;
            RfidReader.RfidReadEvent += OnRfidReaderRfidRead;
            Door.DoorOpenedEvent     += OnDoorOpened;
            Door.DoorClosedEvent     += OnDoorClosed;

            OldId = 0;
        }
예제 #8
0
 public HardwareSimulator(IDoor door, IDisplay display, IReader rfid, IUsbCharger usBcharger, IChargeControl chargeControl)
 {
     Door          = door;
     Display       = display;
     RFID          = rfid;
     USBcharger    = usBcharger;
     ChargeControl = chargeControl;
 }
예제 #9
0
 public void SetUp()
 {
     _usbCharger     = Substitute.For <IUsbCharger>();
     _chargeControl  = Substitute.For <IChargeControl>();
     uut             = new RFIDReader();
     _door           = Substitute.For <Door>();
     _stationControl = Substitute.For <IStationControl>();
 }
 public void Setup()
 {
     _usbCharger = Substitute.For <IUsbCharger>();
     _display    = Substitute.For <IDisplay>();
     _uut        = new ChargeControl(_usbCharger, _display);
     _door       = Substitute.For <IDoor>();
     _reader     = Substitute.For <IRfidReader>();
 }
예제 #11
0
 public void SetUp()
 {
     _iChargeControl = Substitute.For <IChargeControl>();
     _iDoor          = Substitute.For <IDoor> ();
     _iReader        = Substitute.For <IReader>();
     _iDisplay       = Substitute.For <IDisplay>();
     _iLogFile       = Substitute.For <ILogfile>();
     _uut            = new StationControl(_iReader, _iDoor, _iDisplay, _iChargeControl, _iLogFile);
 }
예제 #12
0
 public void Setup()
 {
     fakeLogging       = Substitute.For <ILogging>();
     fakeDoor          = Substitute.For <IDoor>();
     fakeRfidReader    = Substitute.For <IRFIDReader>();
     fakeChargeControl = Substitute.For <IChargeControl>();
     fakeDisplay       = Substitute.For <IDisplay>();
     UUT = new StationControl(fakeDoor, fakeRfidReader, fakeChargeControl, fakeLogging, fakeDisplay);
 }
예제 #13
0
            public void Setup()
            {
                _rfidReader    = Substitute.For <IRFIDReader>();
                _chargeControl = Substitute.For <IChargeControl>();
                _door          = Substitute.For <IDoor>();
                _display       = new Display();

                _stationControl = Substitute.For <StationControl>(_door, _display, _rfidReader, _chargeControl);
            }
예제 #14
0
 public StationControl(IDoor doorStatus, IRfidReader rfidStatus, ILog log, IChargeControl chargeControl, IDisplay display)
 {
     doorStatus.DoorChangedEvents += HandleDoorStatusChangedEvent; //attacher
     _door = doorStatus;
     rfidStatus.RfidSensedEvents += HandleRfidStatusChangedEvent;  //attacher
     _log           = log;
     _chargeControl = chargeControl;
     _display       = display;
 }
예제 #15
0
 public void Setup()
 {
     _door          = Substitute.For <IDoor>();
     _reader        = Substitute.For <IRfidReader>();
     _chargeControl = Substitute.For <IChargeControl>();
     _display       = Substitute.For <IDisplay>();
     _log           = Substitute.For <ILogFile>();
     _uut           = new StationControl(_chargeControl, _door, _display, _reader, _log);
 }
예제 #16
0
 // Her mangler constructor
 public StationControl(IIdReader idReader, IDoor door, IChargeControl charger, ILogger log)
 {
     idReader.IdReadEvent += HandleReadEvent;
     door.DoorEvent       += HandleDoorEvent;
     _charger              = charger;
     _door   = door;
     _state  = LadeskabState.Available;
     _logger = log;
 }
예제 #17
0
 public void Setup()
 {
     _display       = Substitute.For <IDisplay>();
     _chargeControl = Substitute.For <IChargeControl>();
     _door          = Substitute.For <IDoor>();
     _logfile       = Substitute.For <ILogFile>();
     _RFIDReader    = Substitute.For <IRFIDReader>();
     _sc            = new StationControl(_display, _door, _logfile, _RFIDReader, _chargeControl);
 }
예제 #18
0
 public void SetUp()
 {
     _door          = Substitute.For <IDoor>();
     _display       = Substitute.For <IDisplay>();
     _rfidReader    = Substitute.For <IRFIDReader>();
     _chargeControl = Substitute.For <IChargeControl>();
     _logger        = Substitute.For <ILogger>();
     _uut           = new StationControl.StationControl(_door, _display, _rfidReader, _chargeControl, _logger);
 }
예제 #19
0
        public void Setup()
        {
            _door          = Substitute.For <IDoor>();
            _display       = Substitute.For <IDisplay>();
            _rfid          = Substitute.For <IRfidReader>();
            _chargeControl = Substitute.For <IChargeControl>();

            _uut = new StationControl(_door, _display, _rfid, _chargeControl);
        }
 public void Setup()
 {
     DisplayFake = Substitute.For <IDisplay>();
     logFake     = Substitute.For <ILog>();
     DoorFake    = Substitute.For <IDoor>();
     ChargeFake  = Substitute.For <IChargeControl>();
     RFIDfake    = Substitute.For <IRFIDReader>();
     uut         = new StationControl(ChargeFake, DoorFake, DisplayFake, RFIDfake, logFake);
 }
예제 #21
0
 public void Setup()
 {
     _rfidreader    = Substitute.For <IRFIDReader>();
     _door          = Substitute.For <IDoor>();
     _usb           = Substitute.For <IUsbCharger>();
     _disp          = Substitute.For <IDisplay>();
     _chargeControl = Substitute.For <IChargeControl>();
     _uut           = new StationControl(_rfidreader, _door, _disp, _chargeControl);
 }
예제 #22
0
        //private IUsbCharger _charger; //<-- ChargeControl skal holde øje med _charger, fejl her
        // private string logFile = "logfile.txt"; // Navnet på systemets log-fil


        // Her mangler constructor
        public StationControl(IDoor door, IRFIDReader reader, IDisplay display, IChargeControl chargeControl, ILog log)
        {
            _door                 = door;
            _reader               = reader;
            _display              = display;
            _chargeControl        = chargeControl;
            _log                  = log;
            door.DoorOpenEvent   += HandleDoorEvent;
            reader.IdReaderEvent += HandleRfidDetected;
        }
예제 #23
0
 public void Setup()
 {
     _usbSimulator  = Substitute.For <IUsbCharger>();
     _chargeControl = Substitute.For <IChargeControl>();
     _door          = Substitute.For <IDoor>();
     _display       = Substitute.For <IDisplay>();
     _logfile       = Substitute.For <ILogFile>();
     _rfid          = Substitute.For <IRFIDreader>();
     _uut           = new StationControl(_chargeControl, _door, _display, _logfile, _rfid);
 }
예제 #24
0
 public void Setup()
 {
     _door          = Substitute.For <IDoor>();
     _rfidReader    = Substitute.For <IRFIDReader>();
     _display       = Substitute.For <IDisplay>();
     _chargeControl = Substitute.For <IChargeControl>();
     _usbCharger    = Substitute.For <IUSBCharger>();
     _fileWriter    = Substitute.For <IFileWriter>();
     _uut           = new StationControl(_door, _rfidReader, _display, _chargeControl, _usbCharger, _fileWriter);
 }
        //Nu håber vi sgu lortet virker...
        // private string logFile = "logfile.txt"; // Navnet på systemets log-fil

        // Her mangler constructor
        public StationControl(IDoor door, IChargeControl charger, IRFIDReader reader, IDisplay display, ILog log)
        {
            _door    = door;
            _charger = charger;
            _reader  = reader;
            _display = display;
            _log     = log;
            door.doorChangedEvent  += HandleDoorEventArg;       //Svarer til at attatce til eventet
            reader.RFIDReaderEvent += HandleRfidReaderEventArg; //Svarer til at attatce til eventet
        }
예제 #26
0
 public StationControl(IDoor doorSimulator, IRfidReader rfidReader, IChargeControl charger, IFileLog fileLog, IDisplay display)
 {
     _charger = charger;
     _fileLog = fileLog;
     //_usbCharger = usbCharger
     _doorSimulator = doorSimulator;
     _display       = display;
     doorSimulator.IsOpenValueEvent += HandleDoorEvent;
     rfidReader.RfidEvent           += HandleRfIdEvent;
 }
예제 #27
0
 public void Setup()
 {
     // Common Arrange:
     _fakeDoor          = Substitute.For <IDoor>();
     _fakeRfidReader    = Substitute.For <IRfidReader>();
     _fakeChargeControl = Substitute.For <IChargeControl>();
     _fakeDisplay       = Substitute.For <IDisplay>();
     _fakeLogfile       = Substitute.For <ILogfileWriter>();
     _uut = new StationControl(_fakeChargeControl, _fakeDoor, _fakeRfidReader, _fakeDisplay, _fakeLogfile);
 }
        public void Setup()
        {
            Door          = NSubstitute.Substitute.For <IDoor>();
            rfidReader    = NSubstitute.Substitute.For <IRfidReader>();
            display       = NSubstitute.Substitute.For <IDisplay>();
            chargeControl = NSubstitute.Substitute.For <IChargeControl>();
            logFile       = NSubstitute.Substitute.For <ILogFile>();

            uut = new StationControl(rfidReader, Door, chargeControl, display, logFile);
        }
        public void Setup()
        {
            _fChargeControl = Substitute.For <IChargeControl>();
            _fDoor          = Substitute.For <IDoor>();
            _fDisplay       = Substitute.For <IDisplay>();
            _fLogFile       = Substitute.For <ILogFile>();
            _fRfidReader    = Substitute.For <IRfidReader>();

            _uut = new StationControl(_fChargeControl, _fDoor, _fRfidReader, _fDisplay, _fLogFile);
        }
예제 #30
0
 public StationControl(IDoor door, IRFIDReader rfidReader, IChargeControl charger, ILogging logging, IDisplay display)
 {
     Charger                       = charger;
     Logging                       = logging;
     Display                       = display;
     Door                          = door;
     _rfidReader                   = rfidReader;
     door.DoorLockedEvent         += HandleDoorLockedEvent;
     rfidReader.RFIDDetectedEvent += HandleRfidDetectedEvent;
 }