示例#1
0
        public void TestingClosingAOpenDoor()
        {
            _uut.Open = true;


            _uut.OnDoorClose();
            Assert.That(_recievedDoorEventArgs, Is.Not.Null);
        }
示例#2
0
        public void OnDoorClose_DoorCloseEventArgs_IsNotNull()
        {
            _uut.OnDoorClose(true);

            Assert.Multiple(() =>
            {
                Assert.That(_doorCloseEventArgs, Is.Not.Null);
                Assert.That(_doorCloseEventArgs.DoorClosed, Is.EqualTo(true));
                Assert.That(_doorOpenEventArgs, Is.Null);
            });
        }
示例#3
0
        public void OnDoorClosed_ClosedAndUnlocked_NoEventTriggers()
        {
            //act
            uut.OnDoorClose();

            //assert
            Assert.Multiple(() =>
            {
                Assert.That(openDoorArgs, Is.Null);
                Assert.That(closeDoorArgs, Is.Null);
            });
        }
示例#4
0
        static void Main(string[] args)
        {
            // Assemble your system here from all the classes
            IDoorSimulator       door           = new DoorSimulator();
            IUsbCharger          usb            = new UsbChargerSimulator();
            IDisplaySimulator    display        = new DisplaySimulator();
            IWriteSimulator      write          = new WriteSimulator();
            ILogFileSimulator    log            = new LogFileSimulator(write);
            IRfidReaderSimulator rfidReader     = new RfidReaderSimulator();
            IChargeControl       chargeControl  = new ChargeControl(display, usb);
            StationControl       stationControl = new StationControl(door, chargeControl, display, log, rfidReader);

            bool finish = false;

            do
            {
                string input;
                System.Console.WriteLine("Indtast E, O, C, R, T: ");
                input = Console.ReadLine().ToString().ToLower();
                if (string.IsNullOrEmpty(input))
                {
                    continue;
                }

                switch (input[0])
                {
                case 'e':
                    finish = true;
                    break;

                case 'o':
                    door.OnDoorOpen(true);
                    Console.WriteLine("Tryk T");
                    break;

                case 't':
                    usb.SimulateConnected(true);
                    break;

                case 'c':
                    door.OnDoorClose(true);
                    break;

                case 'r':
                    System.Console.WriteLine("Indtast RFID id: ");
                    string idString = System.Console.ReadLine();

                    int id = Convert.ToInt32(idString);
                    rfidReader.OnRfidRead(id);
                    break;

                default:
                    break;
                }
            } while (!finish);
        }
示例#5
0
    static void Main(string[] args)
    {
        // Assemble your system here from all the classes
        DoorSimulator       door           = new DoorSimulator();
        RfidReaderSimulator rfidReader     = new RfidReaderSimulator();
        EncapsulateDisplay  encapDisplay   = new EncapsulateDisplay();
        DisplaySimulator    display        = new DisplaySimulator(encapDisplay);
        UsbChargerSimulator usbCharger     = new UsbChargerSimulator();
        ChargeControl       chargeControl  = new ChargeControl(usbCharger, display);
        StationControl      stationControl = new StationControl(chargeControl, door, display, rfidReader);

        usbCharger.SimulateConnected(true);

        bool finish = false;

        do
        {
            string input;
            System.Console.WriteLine("Indtast E, O, C, R: ");
            input = Console.ReadLine();
            if (string.IsNullOrEmpty(input))
            {
                continue;
            }

            switch (input[0])
            {
            case 'E':
                finish = true;
                break;

            case 'O':
                door.OnDoorOpen();
                break;

            case 'C':
                door.OnDoorClose();
                break;

            case 'R':
                System.Console.WriteLine("Indtast RFID id: ");
                string idString = System.Console.ReadLine();

                int id = Convert.ToInt32(idString);
                rfidReader.OnRfidRead(id);
                break;

            default:
                break;
            }
        } while (!finish);
    }
示例#6
0
    static void Main(string[] args)
    {
        // Assemble your system here from all the classes
        //DoorSimulator doorSimulator = new DoorSimulator();
        IUsbCharger    charger       = new UsbChargerSimulator();
        IDisplay       display       = new Display();
        IChargeControl chargeControl = new ChargeControl(charger, display);
        IDoor          doorSimulator = new DoorSimulator();
        //RfidReaderSimulator rfidReaderSimulator = new RfidReaderSimulator();
        IRfidReader rfidReaderSimulator = new RfidReaderSimulator();
        IFileLog    fileLog             = new FileLog();

        StationControl stationControl = new StationControl(doorSimulator, rfidReaderSimulator, chargeControl, fileLog, display);

        //Det man indtaster simulerer det som brugeren fysisk gør.
        //Fra program bliver der sat gang i Events, som StationControl får besked om

        bool finish = false;

        do
        {
            string input;
            System.Console.WriteLine("Indtast E, O, C, R, Y, N: ");
            input = Console.ReadLine();
            if (string.IsNullOrEmpty(input))
            {
                continue;
            }

            switch (input[0])
            {
            case 'E':
                finish = true;
                break;

            case 'O':
                doorSimulator.OnDoorOpen();
                break;

            case 'C':
                doorSimulator.OnDoorClose();
                break;

            case 'R':
                System.Console.WriteLine("Indtast RFID id: ");
                string idString = System.Console.ReadLine();

                int id = Convert.ToInt32(idString);

                rfidReaderSimulator.OnRfidRead(id);
                break;

            case 'Y':
                charger.SimulateConnected(true);
                break;

            case 'N':
                charger.SimulateConnected(false);
                break;

            default:
                break;
            }
        } while (!finish);
    }
示例#7
0
 public void DoorStateChanged_IsOpenSetToFalse_EventFired()
 {
     _uut.OnDoorClose();
     Assert.That(_eventArgs, Is.Not.Null);
 }
示例#8
0
    static void Main(string[] args)
    {
        // Assemble your system here from all the classes
        IDoor       door       = new DoorSimulator();
        IRFID       rfidReader = new RFIDReader();
        ILogger     fileLogger = new FileLogger();
        IUsbCharger usbCharger = new UsbChargerSimulator();
        IDisplay    display    = new ConsoleDisplay();

        IChargeControl chargeControl = new ChargeControl(display, usbCharger);

        StationControl StationController = new StationControl(chargeControl, door, display, fileLogger, rfidReader);


        Console.WriteLine("E for Exit, O for opening the door, C for closing the door, R to read an RFID-tag");
        Console.WriteLine("K for connecting phone to charger, L for disconnecting phone from charger");
        bool finish = false;

        do
        {
            System.Console.WriteLine("Indtast E, O, C, R, K, L: ");
            string input;

            input = Console.ReadLine();
            if (string.IsNullOrEmpty(input))
            {
                continue;
            }

            switch (input[0])
            {
            case 'E':
                finish = true;
                break;

            case 'O':
                door.OnDoorOpen();
                break;

            case 'C':
                door.OnDoorClose();
                break;

            case 'R':
                System.Console.WriteLine("Indtast RFID id: ");
                string idString = System.Console.ReadLine();

                int id = Convert.ToInt32(idString);
                rfidReader.OnRfidRead(id);
                break;

            case 'K':
                if (door.DoorIsOpen && !usbCharger.Connected)
                {
                    usbCharger.SimulateConnected(true);
                    Console.WriteLine("Telefon tilsluttet");
                }
                else
                {
                    Console.WriteLine("Laderen er optaget ellers er døren ikke åben");
                }
                break;

            case 'L':
                if (door.DoorIsOpen && usbCharger.Connected)
                {
                    usbCharger.SimulateConnected(false);
                    Console.WriteLine("Telefon taget ud af charger");
                }
                else
                {
                    Console.WriteLine("Døren skal være åben og laderen optaget før du kan tage den ud af opladning");
                }
                break;

            default:
                break;
            }
        } while (!finish);
    }
示例#9
0
 public void OnDoorClose_OnDoorCloseCalled_EventFired()
 {
     _uut.OnDoorClose();
     Assert.That(_recievedDoorClosedEventArgs, Is.Not.Null);
 }