コード例 #1
0
ファイル: Step_3.cs プロジェクト: Warmdahl/I4SWT_Assignment3
        public void Setup()
        {
            output            = new Output();
            powerTube         = new PowerTube(output);
            timer             = new Timer();
            powerButton       = new Button();
            timeButton        = new Button();
            startCancelButton = new Button();
            door = new Door();

            display        = new Display(output);
            cookController = new CookController(timer, display, powerTube);

            light = new Light(output);

            ui = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cookController);
        }
コード例 #2
0
        public void SetUp()
        {
            _powerButton       = new Button();
            _timeButton        = new Button();
            _startCancelButton = new Button();
            _door           = new Door();
            _timer          = new Timer();
            _light          = Substitute.For <ILight>();
            _display        = Substitute.For <IDisplay>();
            _powerTube      = Substitute.For <IPowerTube>();
            _cookController = new CookController(_timer, _display, _powerTube);
            _userInterface  = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _powerButton.Press();
            _timeButton.Press();
            _startCancelButton.Press();
        }
コード例 #3
0
        public void SetUp()
        {
            _output = Substitute.For <IOutput>();

            _timer      = new Timer();
            _powerTube  = new PowerTube(_output);
            _display    = new Display(_output);
            _doorDriven = new Door();
            _startCancelButtonDriven = new Button();
            _powerButtonDriven       = new Button();
            _timerButtonDriven       = new Button();
            _lightToIntegrate        = new Light(_output);

            _cookController    = new CookController(_timer, _display, _powerTube);
            _userInterface     = new UserInterface(_powerButtonDriven, _timerButtonDriven, _startCancelButtonDriven, _doorDriven, _display, _lightToIntegrate, _cookController);
            _cookController.UI = _userInterface;
        }
コード例 #4
0
        public void SetUp()
        {
            _powerButton       = new Button();
            _timeButton        = new Button();
            _startCancelButton = new Button();

            _uut       = new Timer();
            _powerTube = Substitute.For <IPowerTube>();
            _door      = new Door();
            _output    = Substitute.For <IOutput>();
            _light     = new Light(_output);
            _display   = new Display(_output);

            _cookController = new CookController(_uut, _display, _powerTube);
            _userInterface  = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _cookController.UI = _userInterface;
        }
コード例 #5
0
        public void SetUp()
        {
            // Fakes
            _buttonPower       = Substitute.For <IButton>();
            _buttonTime        = Substitute.For <IButton>();
            _buttonStartCancel = Substitute.For <IButton>();
            _output            = Substitute.For <IOutput>();

            // Real Modules
            _timer         = new Timer();
            _door          = new Door();
            _powerTube     = new PowerTube(_output);
            _display       = new Display(_output);
            _light         = new Light(_output);
            _uut           = new CookController(_timer, _display, _powerTube, _userInterface);
            _userInterface = new UserInterface(_buttonPower, _buttonTime, _buttonStartCancel, _door, _display, _light,
                                               _uut);
            _uut.UI = _userInterface;
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Button startCancelButton = new Button();
            Button powerButton       = new Button();
            Button timeButton        = new Button();

            Door door = new Door();

            Output output = new Output();

            Display display = new Display(output);

            PowerTube powerTube = new PowerTube(output);

            Light light = new Light(output);

            MicrowaveOvenClasses.Boundary.Timer timer = new Timer();

            CookController cooker = new CookController(timer, display, powerTube);

            UserInterface ui = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cooker);

            // Finish the double association
            cooker.UI = ui;

            // Simulate a simple sequence

            powerButton.Press();

            timeButton.Press();

            startCancelButton.Press();


            // The simple sequence should now run

            System.Console.WriteLine("When you press enter, the program will stop");
            // Wait for input

            System.Console.ReadLine();
        }
コード例 #7
0
        public void SetUp()
        {
            // Drivers
            _driverDoor              = new Door();
            _driverPowerButton       = new Button();
            _driverTimeButton        = new Button();
            _driverStartCancelButton = new Button();

            // Stubs/mocks
            _light  = Substitute.For <ILight>();
            _output = Substitute.For <IOutput>();

            // Unit under test
            _display   = new Display(_output);
            _powerTube = new PowerTube(_output);

            // Included
            _timer             = new Timer();
            _cookController    = new CookController(_timer, _display, _powerTube);
            _userInterface     = new UserInterface(_driverPowerButton, _driverTimeButton, _driverStartCancelButton, _driverDoor, _display, _light, _cookController);
            _cookController.UI = _userInterface;
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: FrejThorsen34/Semester4
        static void Main(string[] args)
        {
            // Setup all the objects
            ManualResetEvent pause = new ManualResetEvent(false);
            var powerButton        = new Button();
            var timeButton         = new Button();
            var startCancelButton  = new Button();
            var door           = new Door();
            var output         = new Output();
            var display        = new Display(output);
            var light          = new Light(output);
            var powerTube      = new PowerTube(output);
            var timer          = new Timer();
            var cookController = new CookController(timer, display, powerTube);
            var userInterFace  = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cookController);

            cookController.UI = userInterFace;

            output.OutputLine("Main scenario");
            output.OutputLine("User opens door");
            door.Open();
            output.OutputLine("User closes door");
            door.Close();
            output.OutputLine("User presses powerbutton 5 times");
            for (int i = 0; i < 5; i++)
            {
                powerButton.Press();
            }
            output.OutputLine("User presses timebutton 1 time");
            timeButton.Press();
            output.OutputLine("User presses startcancelbutton");
            startCancelButton.Press();
            pause.WaitOne(61000);

            output.OutputLine("User opens door while cooking scenario");
            output.OutputLine("User presses powerbutton");
            powerButton.Press();
            output.OutputLine("User presses timebutton");
            timeButton.Press();
            output.OutputLine("User presses startcancelbutton");
            startCancelButton.Press();
            pause.WaitOne(1500);
            output.OutputLine("User opens door");
            door.Open();
            door.Close();

            output.OutputLine("User press startcancelbutton while cooking scenario");
            output.OutputLine("User presses powerbutton");
            powerButton.Press();
            output.OutputLine("User presses timebutton");
            timeButton.Press();
            output.OutputLine("User presses startcancelbutton");
            startCancelButton.Press();
            pause.WaitOne(1500);
            output.OutputLine("User presses startcancelbutton");
            startCancelButton.Press();


            // Wait while the classes, including the timer, do their job
            System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            System.Console.ReadLine();
        }
コード例 #9
0
        static void Main(string[] args)
        {
            ManualResetEvent pause = new ManualResetEvent(false);

            var btnStartCancel = new Button();
            var btnPower       = new Button();
            var btnTimer       = new Button();
            var door           = new Door();
            var output         = new Output();
            var timer          = new Timer();
            var display        = new Display(output);
            var light          = new Light(output);
            var powerTube      = new PowerTube(output);
            var cookController = new CookController(timer, display, powerTube);
            var userInterface  = new UserInterface(btnPower, btnTimer, btnStartCancel, door, display, light, cookController);

            cookController.UI = userInterface;

            Print("--- Main Scenario ---");

            Print("--- User Opens the door ---");
            door.Open();
            Print("");

            Print("--- User Closes the door ---");
            door.Close();
            Print("");

            Print("--- User presses the power button 3 times ---");
            for (int i = 0; i < 3; i++)
            {
                btnPower.Press();
            }
            Print("");

            Print("--- User presses the time button ---");
            btnTimer.Press();
            Print("");

            Print("--- User presses the start/cancel button ---");
            btnStartCancel.Press();
            Print("");

            pause.WaitOne(60100);
            Print("");

            Print("--- User Opens the door after the dish is done ---");
            door.Open();
            Print("");

            Print("--- User Closes the door ---");
            door.Close();
            Print("");

            Print("--- Extension 3: The user presses the Start-Cancel button during cooking --- ");

            Print("--- User Opens the door ---");
            door.Open();
            Print("");

            Print("--- User Closes the door ---");
            door.Close();
            Print("");

            Print("--- User presses the power button 3 times ---");
            for (int i = 0; i < 3; i++)
            {
                btnPower.Press();
            }
            Print("");

            Print("--- User presses the time button ---");
            btnTimer.Press();
            Print("");

            Print("--- User presses the start/cancel button ---");
            btnStartCancel.Press();
            Print("");

            pause.WaitOne(7100);
            Print("");

            Print("--- User presses the start/cancel button after 7s ---");
            btnStartCancel.Press();
            Print("");



            // Wait while the classes, including the timer, do their job
            System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            System.Console.ReadLine();
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: SWT21/MicrowaveHandin2
        static void Main(string[] args)
        {
            ManualResetEvent pause = new ManualResetEvent(false);

            bool extension1 = true;
            bool extension2 = true;
            bool extension3 = true;
            bool extension4 = true;

            var output            = new Output();
            var door              = new Door();
            var powerButton       = new Button();
            var timeButton        = new Button();
            var startCancelButton = new Button();
            var light             = new Light(output);
            var powerTube         = new PowerTube(output);
            var display           = new Display(output);
            var timer             = new Timer();

            var cookController = new CookController(timer, display, powerTube);
            var userInterface  = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cookController);

            ((CookController)cookController).UI = userInterface;

            Console.WriteLine("The user opens the door");
            door.Open();
            Console.WriteLine("The user places the dish in the oven");

UC_STEP4:
            Console.WriteLine("The user closes the door");
            door.Close();

UC_STEP6:
            Console.WriteLine("Power button is pressed 5 times");
            for (int i = 0; i < 5; i++)
            {
                powerButton.Press();
            }

            if (extension1)
            {
                Console.WriteLine("Start/cancel button is pressed (Extension 1)");
                startCancelButton.Press();
                Console.WriteLine("Continuing from UC STEP 6 ...\n");
                extension1 = false;
                goto UC_STEP6;
            }

            if (extension2)
            {
                Console.WriteLine("The user opens the door during setup (Extension 2)");
                door.Open();
                Console.WriteLine("Continuing from UC STEP 4 ...\n");
                extension2 = false;
                goto UC_STEP4;
            }


            Console.WriteLine("Time button is pressed once");
            timeButton.Press();
            Console.WriteLine("Start/cancel button is pressed");
            startCancelButton.Press();


            if (extension3)
            {
                pause.WaitOne(10000);
                Console.WriteLine("User suddenly presses start/cancel button (Extension 3)");
                startCancelButton.Press();
                extension3 = false;
                goto UC_STEP6;
            }

            if (extension4)
            {
                pause.WaitOne(10000);
                Console.WriteLine("User suddenly opens the door (Extension 4)");
                door.Open();
                extension4 = false;
                goto UC_STEP4;
            }

            System.Console.ReadLine();
        }
コード例 #11
0
        static void Main(string[] args)
        {
            // Setup all the objects,
            var _output            = new Output();
            var _door              = new Door();
            var _timeButton        = new Button();
            var _powerButton       = new Button();
            var _startCancelButton = new Button();
            var _powerTube         = new PowerTube(_output);
            var _display           = new Display(_output);
            var _light             = new Light(_output);
            var _timer             = new Timer();
            var _cookController    = new CookController(_timer, _display, _powerTube);

            _cookController.UI = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            Console.WriteLine("============= IT7 - BUTTON IS DRIVER ===========");

            Console.WriteLine("=============Testíng normal use case===========");
            _powerButton.Press();
            _timeButton.Press();
            _startCancelButton.Press();
            Thread.Sleep(62000);

            Console.WriteLine("\n=============Testíng StartCancelPressed while cooking===========");
            _powerButton.Press();
            _timeButton.Press();
            _startCancelButton.Press();
            _startCancelButton.Press();
            Thread.Sleep(1000);

            Console.WriteLine("\n=============Testíng StartCancelPressed during setup===========");

            // Setup all the objects,
            _output            = new Output();
            _door              = new Door();
            _timeButton        = new Button();
            _powerButton       = new Button();
            _startCancelButton = new Button();
            _powerTube         = new PowerTube(_output);
            _display           = new Display(_output);
            _light             = new Light(_output);
            _timer             = new Timer();
            _cookController    = new CookController(_timer, _display, _powerTube);
            _cookController.UI = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _powerButton.Press();
            _startCancelButton.Press();
            Thread.Sleep(1500);

            Console.WriteLine("\n\n============= IT8 - DOOR IS DRIVER ===========");

            Console.WriteLine("\n=============DoorOpenedWhileCooking===========");
            // Setup all the objects,
            _output            = new Output();
            _door              = new Door();
            _timeButton        = new Button();
            _powerButton       = new Button();
            _startCancelButton = new Button();
            _powerTube         = new PowerTube(_output);
            _display           = new Display(_output);
            _light             = new Light(_output);
            _timer             = new Timer();
            _cookController    = new CookController(_timer, _display, _powerTube);
            _cookController.UI = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _powerButton.Press();
            _timeButton.Press();
            _startCancelButton.Press();
            Thread.Sleep(10000);
            _door.Open();

            Console.WriteLine("\n=============DoorOpenedDuringSetup===========");

            // Setup all the objects,
            _output            = new Output();
            _door              = new Door();
            _timeButton        = new Button();
            _powerButton       = new Button();
            _startCancelButton = new Button();
            _powerTube         = new PowerTube(_output);
            _display           = new Display(_output);
            _light             = new Light(_output);
            _timer             = new Timer();
            _cookController    = new CookController(_timer, _display, _powerTube);
            _cookController.UI = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _powerButton.Press();
            _door.Open();

            Console.WriteLine("\n=============DoorOpenedThenClosed===========");

            // Setup all the objects,
            _output            = new Output();
            _door              = new Door();
            _timeButton        = new Button();
            _powerButton       = new Button();
            _startCancelButton = new Button();
            _powerTube         = new PowerTube(_output);
            _display           = new Display(_output);
            _light             = new Light(_output);
            _timer             = new Timer();
            _cookController    = new CookController(_timer, _display, _powerTube);
            _cookController.UI = new UserInterface(_powerButton, _timeButton, _startCancelButton, _door, _display, _light, _cookController);

            _door.Open();
            _door.Close();

            // Wait while the classes, including the timer, do their job
            System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            System.Console.ReadLine();
        }
コード例 #12
0
        static void Main(string[] args)
        {
            // Output
            Output output = new Output();
            // Display
            IDisplay display = new Display(output);
            // CookController
            IPowerTube      powerTube      = new PowerTube(output);
            ITimer          timer          = new Timer();
            ICookController cookController =
                new CookController(timer, display, powerTube);
            // UserInterface
            IButton        powerButton       = new Button();
            IButton        timerButton       = new Button();
            IButton        startCancelButton = new Button();
            IDoor          door  = new Door();
            ILight         light = new Light(output);
            IUserInterface ui    = new UserInterface(powerButton, timerButton, startCancelButton,
                                                     door, display, light, cookController);

            cookController.UI = ui;

            Console.WriteLine("Program started");

            // To output to file
            var        ostrm  = new FileStream("output.txt", FileMode.Open, FileAccess.Write);
            var        writer = new StreamWriter(ostrm);
            TextWriter oldOut = Console.Out;

            Console.SetOut(writer);

            Console.BackgroundColor = ConsoleColor.Cyan;
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("Main UC");

            // UC 1
            door.Open();
            // UC 4
            door.Close();

            RunUC6ToEnd(powerButton, timerButton, startCancelButton, timer, door);


            Console.WriteLine("Ext1 UC6");
            // Extension 1 - Start from UC6
            door.Open();
            door.Close();

            powerButton.Press();
            startCancelButton.Press();

            RunUC6ToEnd(powerButton, timerButton, startCancelButton, timer, door);

            Console.WriteLine("Ext1 UC15");
            // Extension 1 - Start from UC15
            door.Open();
            door.Close();

            powerButton.Press();
            startCancelButton.Press();

            RunUC15ToEnd(door);

            Console.WriteLine("Ext2 Powerbutton: UC4");
            // Extension 2 - Power button: Start from UC4
            door.Open();
            door.Close();

            powerButton.Press();
            door.Open();
            RunUC4ToEnd(powerButton, timerButton, startCancelButton, timer, door);

            Console.WriteLine("Ext2 Powerbutton: UC17");
            // Extension 2 - Power button: Start from UC17
            door.Open();
            door.Close();

            powerButton.Press();
            door.Open();
            RunUC17ToEnd(door);

            Console.WriteLine("Ext2 Timerbutton: UC4");
            // Extension 2 - Timer button: Start from UC4
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            door.Open();
            RunUC4ToEnd(powerButton, timerButton, startCancelButton, timer, door);

            Console.WriteLine("Ext2 Timerbutton: UC17");
            // Extension 2 - Timer button: Start from UC17
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            door.Open();
            RunUC17ToEnd(door);

            Console.WriteLine("Ext3 UC6");
            // Extension 3 - Start from UC6
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            startCancelButton.Press();
            // Before timer ends
            Thread.Sleep(200);
            startCancelButton.Press();

            RunUC6ToEnd(powerButton, timerButton, startCancelButton, timer, door);

            Console.WriteLine("Ext3 UC15");
            // Extension 3 - Start from UC15
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            startCancelButton.Press();
            // Before timer ends
            Thread.Sleep(200);
            startCancelButton.Press();

            RunUC15ToEnd(door);

            Console.WriteLine("Ext4 UC4");
            // Extension 4 - Start from UC4
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            startCancelButton.Press();
            // Before timer ends
            Thread.Sleep(200);
            door.Open();

            RunUC4ToEnd(powerButton, timerButton, startCancelButton, timer, door);

            Console.WriteLine("Ext4 UC17");
            // Extension 4 - Start from UC17
            door.Open();
            door.Close();

            powerButton.Press();
            timerButton.Press();

            startCancelButton.Press();

            // Before timer ends
            Thread.Sleep(200);
            door.Open();

            RunUC17ToEnd(door);


            writer.Close();
            ostrm.Close();

            Console.SetOut(oldOut);
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
コード例 #13
0
        static void Main(string[] args)
        {
            // Setup all the objects,
            var door              = new Door();
            var powerButton       = new Button();
            var timeButton        = new Button();
            var startCancelButton = new Button();
            var output            = new Output();
            var display           = new Display(output);
            var light             = new Light(output);
            var powertube         = new PowerTube(output);
            var timer             = new MicrowaveOvenClasses.Boundary.Timer();

            var cookController = new CookController(timer, display, powertube);
            var userInterface  = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cookController);

            cookController.UI = userInterface;

            // Simulate user activities - Main Scenario
            // 1.The user opens the door
            System.Console.WriteLine("Use Case 1 Test");
            System.Console.WriteLine("User: Open Door");
            door.Open();
            // 2.The light goes on inside the oven
            // 3.The user places the dish in the oven
            // 4.The user closes the door
            System.Console.WriteLine("User: Close Door");
            door.Close();
            // 5.The light goes off inside the oven
            // 6.The user presses the Power button one or more times, to select the desired
            //    microwave power. The display shows the currently selected power from 50 to 700
            //    increment with 50 each press - press until "rollover"
            System.Console.WriteLine("User: Press Powerbutton 15 times");
            for (int index = 0; index < 15; index++)
            {
                powerButton.Press();
            }

            // 7.The user presses the Time button one or more times to select the desired cooking
            // time.The display shows the currently selected time as minutes:seconds, starting
            //     with 01:00.Each press increases the selected time with one minute.
            System.Console.WriteLine("User: Press time button");
            timeButton.Press();
            //timeButton.Press();
            //timeButton.Press();
            // 8. The user presses the Start-Cancel button.
            System.Console.WriteLine("User: Press startCancel Button");
            startCancelButton.Press();
            // 9. The light goes on inside the oven
            // 10. The powertube starts working at the desired powerlevel
            // 11. The display shows and updates the remaing time every second as
            //     minutes:seconds.
            // 12. When the time has expired, the power tube is turned off
            // 13. The light inside the oven goes off
            // 14. The display is blanked

            // Wait while the classes, including the timer, do their job
            //System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            System.Console.ReadLine();

            // ################################################################################

            //    [Extension 1: The user presses the Start-Cancel button during setup]
            //1. The display is blanked
            //2. All settings are reset to start values
            //3. The user can start the Use Case from step 6 or 15, or the Use Case ends.
            System.Console.WriteLine("Use Case 1 - Extension 1 Test");
            System.Console.WriteLine("User: Open Door");
            door.Open();

            System.Console.WriteLine("User: Close Door");
            door.Close();

            System.Console.WriteLine("User: Press Powerbutton");
            powerButton.Press();

            System.Console.WriteLine("User: Press StartCancelButton");
            startCancelButton.Press();

            System.Console.ReadLine();
            //##################################################################################

            //    [Extension 2: The user opens the Door during setup]
            //1. The light goes on inside the oven
            //2. The display is blanked
            //3. The user can continue the Use case from step 4 or 17.
            System.Console.WriteLine("Use Case 1 - Extension 2 Test");
            System.Console.WriteLine("User: Open Door");
            door.Open();

            System.Console.WriteLine("User: Close Door");
            door.Close();

            System.Console.WriteLine("User: Press Powerbutton");
            powerButton.Press();

            System.Console.WriteLine("User: Open door");
            door.Open();

            System.Console.ReadLine();

            //##################################################################################

            //    [Extension 3: The user presses the Start-Cancel button during cooking]
            //1. The power tube is turned off
            //2. The display is blanked.
            //3. The light inside the oven goes off
            //4. All settings are reset to start values
            //5. The user can continue the Use Case from step 6 or 15, or the Use Case ends.

            System.Console.WriteLine("Use Case 1 - Extension 3 Test");

            System.Console.WriteLine("User: Open Door");
            door.Open();

            System.Console.WriteLine("User: Close Door");
            door.Close();

            System.Console.WriteLine("User: Press Powerbutton");
            powerButton.Press();

            System.Console.WriteLine("User: Press Time button");
            timeButton.Press();

            System.Console.WriteLine("User: Press startCancel Button");
            startCancelButton.Press();
            System.Console.WriteLine("Press Enter to simulate press of startCancelButton during cooking");

            System.Console.ReadLine();

            startCancelButton.Press();
            System.Console.WriteLine("User: Pressed startCancelbutton");

            System.Console.ReadLine();

            //##################################################################################

            //    [Extension 4: The user opens the Door during cooking]
            //1. The power tube is turned off.
            //2. The display is blanked.
            //3. All settings are reset to start values.
            //4. The user can continue the Use Case from step 4 or 17
            System.Console.WriteLine("Use Case 1 - Extension 4 Test");

            System.Console.WriteLine("User: Open Door");
            door.Open();

            System.Console.WriteLine("User: Close Door");
            door.Close();

            System.Console.WriteLine("User: Press Powerbutton");
            powerButton.Press();

            System.Console.WriteLine("User: Press Time button");
            timeButton.Press();

            System.Console.WriteLine("User: Press startCancel Button");
            startCancelButton.Press();
            System.Console.WriteLine("Press Enter to simulate open of door during cooking");

            System.Console.ReadLine();

            startCancelButton.Press();
            System.Console.WriteLine("User: Opened door");

            System.Console.ReadLine();
        }
コード例 #14
0
        static void Main(string[] args)
        {
            //IT4_Output

            //Vi har udkommenteret nogle af testene, da de tager lang tid at køre

            var _output         = new Output();
            var _light          = new Light(_output);
            var _display        = new Display(_output);
            var _powertube      = new PowerTube(_output);
            var _door           = new Door();
            var _timer          = new Timer();
            var _powerbutton    = new Button();
            var _timebutton     = new Button();
            var _startcancel    = new Button();
            var _cookcontroller = new CookController(_timer, _display, _powertube);
            var _userinterface  = new UserInterface(_powerbutton, _timebutton, _startcancel, _door, _display, _light, _cookcontroller);

            _cookcontroller.UI = _userinterface;

            ManualResetEvent pause = new ManualResetEvent(false);

            //1
            Console.WriteLine("Ready_DoorOpen_LightOn");
            _door.Open();
            Console.WriteLine();

            //2
            Console.WriteLine("Ready_DoorOpen_LightOff");
            _door.Open();
            _door.Close();
            Console.WriteLine();

            //3
            Console.WriteLine("Ready_PowerButtonIsPressed_PowerIs50");
            _powerbutton.Press();
            Console.WriteLine();

            //nulstiller power
            _startcancel.Press();

            //4
            Console.WriteLine("Ready_2PowerButtonIsPressed_PowerIs100");
            _powerbutton.Press();
            _powerbutton.Press();
            Console.WriteLine();

            //nulstiller power
            _startcancel.Press();

            //5
            Console.WriteLine("Ready_15PowerButtonIsPressed_PowerIs50Again");
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            _powerbutton.Press();
            Console.WriteLine();

            //nulstiller power
            _startcancel.Press();

            //6
            Console.WriteLine("SetPower_CancelButton_DisplayCleared");
            _powerbutton.Press();
            _startcancel.Press();
            Console.WriteLine();

            //7
            Console.WriteLine("SetPower_DoorOpened_DisplayCleared");
            _powerbutton.Press();
            _door.Open();
            Console.WriteLine();

            //nulstiller dør og power
            _door.Close();
            _startcancel.Press();

            //8
            Console.WriteLine("SetPower_DoorOpened_LightOn");
            _powerbutton.Press();
            _door.Open();
            Console.WriteLine();

            //nulstiller dør og power
            _door.Close();
            _startcancel.Press();
            Console.WriteLine();

            //9
            Console.WriteLine("SetPower_TimeButton_TimeIs1");
            _powerbutton.Press();
            _timebutton.Press();
            Console.WriteLine();

            //nulstiller
            _startcancel.Press();
            _startcancel.Press();
            Console.WriteLine();

            //10
            Console.WriteLine("SetPower_2TimeButton_TimeIs2");
            _powerbutton.Press();
            _timebutton.Press();
            _timebutton.Press();
            Console.WriteLine();

            //nulstiller
            _startcancel.Press();
            _startcancel.Press();
            Console.WriteLine();

            //11
            //Console.WriteLine("SetTime_StartButton_CookerIsCalled");
            //_powerbutton.Press();
            //_timebutton.Press();
            //_startcancel.Press();
            //pause.WaitOne(60100);
            //Console.WriteLine();

            //12
            Console.WriteLine("SetTime_DoorOpened_DisplayCleared");
            _powerbutton.Press();
            _timebutton.Press();
            _door.Open();
            Console.WriteLine();

            //nulstiller dør og power
            _door.Close();
            _startcancel.Press();
            Console.WriteLine();

            //13
            Console.WriteLine("SetTime_DoorOpened_LightOn");
            _powerbutton.Press();
            _timebutton.Press();
            _door.Open();
            Console.WriteLine();

            //nulstiller dør og power
            _door.Close();
            _startcancel.Press();
            Console.WriteLine();

            ////14
            //Console.WriteLine("Ready_PowerAndTime_CookerIsCalledCorectly");
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_timebutton.Press();
            //_timebutton.Press();
            //_startcancel.Press();
            //pause.WaitOne(100);
            //Console.WriteLine();

            ////nulstiller
            //pause.WaitOne(121000);

            ////15
            //Console.WriteLine("Ready_FullPower_CookerIsCalledCorectly");
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_powerbutton.Press();
            //_timebutton.Press();
            //_startcancel.Press();
            //pause.WaitOne(100);
            //Console.WriteLine();

            ////17
            //Console.WriteLine("Cooking_CookingIsDone_LightOff");
            //pause.WaitOne(60100);

            //16
            Console.WriteLine("SetTime_StartButton_LightIsCalled");
            _powerbutton.Press();
            _timebutton.Press();
            _startcancel.Press();
            Console.WriteLine();

            ////18
            //Console.WriteLine("Cooking_CookingIsDone_DisplayCleared");
            //_powerbutton.Press();
            //_timebutton.Press();
            //_startcancel.Press();
            //pause.WaitOne(60300);
            //Console.WriteLine();


            //19
            Console.WriteLine("Cooking_DoorIsOpen_CookerCalled");
            _powerbutton.Press();
            _timebutton.Press();
            _startcancel.Press();
            _door.Open();
            Console.WriteLine();

            //nulstille dør
            _door.Close();

            //20
            Console.WriteLine("Cooking_cancelButton_CookerCalled");
            _powerbutton.Press();
            _timebutton.Press();
            _startcancel.Press();
            _startcancel.Press();
            Console.WriteLine();

            //21
            Console.WriteLine("Cooking_CancelBotton_lightCalled");
            _powerbutton.Press();
            _timebutton.Press();
            _startcancel.Press();
            _startcancel.Press();
            Console.WriteLine();
        }
コード例 #15
0
        static void Main(string[] args)
        {
            // Setup all the objects
            var door              = new Door();
            var powerButton       = new Button();
            var timebutton        = new Button();
            var startcancelbutton = new Button();
            var output            = new Output();
            var display           = new Display(output);
            var timer             = new Timer();
            var powertube         = new PowerTube(output);
            var cookcontroller    = new CookController(timer, display, powertube);
            var light             = new Light(output);

            var userinterface = new UserInterface(powerButton, timebutton, startcancelbutton, door, display, light, cookcontroller);

            cookcontroller.UI = userinterface;

            //// Simulate user activities
            //door.Open();
            //door.Close();
            //powerButton.Press();
            //timebutton.Press();
            //startcancelbutton.Press();

            //// Wait while the classes, including the timer, do their job
            //System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            //System.Console.ReadLine();

            //Simple implementation of console application, where the food is inserted in microoven
            // and the user then uses the keys to simulates the pushes on buttons
            System.Console.WriteLine("Velkommen til din mikroovn-app #smart");
            System.Console.WriteLine("Indsæt mad i ovn");
            // First the user opens the door
            door.Open();
            // Uses 5 seconds to insert food
            Thread.Sleep(5000);
            Console.WriteLine("Mad placeret, luk dør");
            // Closes door
            door.Close();

            Console.WriteLine("\nIndstil først power ved at trykke på 'P'. (Annullér handling ved tryk på 'S')\n" +
                              "Indstil derefter tiden ved at trykke på 'T'.\n" +
                              "Når den ønskede power og tid er indstillet, start da mikroovnen ved at trykke på 'S'\n" +
                              "(Applikationen kan stoppes ved tryk på ESCAPE)");

            bool running = true;

            while (running)
            {
                var tast = Console.ReadKey();
                Console.WriteLine();

                switch (tast.Key)
                {
                case ConsoleKey.P:
                    powerButton.Press();
                    break;

                case ConsoleKey.T:
                    timebutton.Press();
                    break;

                case ConsoleKey.S:
                    startcancelbutton.Press();
                    break;

                case ConsoleKey.Escape:
                    running = false;
                    break;
                }
            }


            {
            }
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: TeamTyve/MicrowaveHandIn2
        static void Main(string[] args)
        {
            var output         = new Output();
            var timer          = new Timer();
            var display        = new Display(output);
            var powerTube      = new PowerTube(output);
            var powerBtn       = new Button();
            var timeBtn        = new Button();
            var startCancelBtn = new Button();
            var door           = new Door();
            var cookController = new CookController(timer, display, powerTube);

            var oven = new UserInterface(powerBtn,
                                         timeBtn,
                                         startCancelBtn,
                                         door, display,
                                         new Light(output),
                                         cookController);

            cookController.UI = oven;

            Console.WriteLine("--------------- Menu --------------");
            Console.WriteLine($"Press 'P' to Power the microwave");
            Console.WriteLine($"Press 'T' to Set the time for the microwave");
            Console.WriteLine($"Press 'S' or 'R'  to Start/Reset the microwave");
            Console.WriteLine($"Press 'O' to Open the microwave");
            Console.WriteLine($"Press 'C' to Close the microwave");
            Console.WriteLine($"Press 'E' to leave the microwave");
            Console.WriteLine();

            Thread.Sleep(1000);
            Console.WriteLine("\nUser - Powerbutton pressed");

            powerBtn.Press();

            Thread.Sleep(250);
            Console.WriteLine("\nUser - Powerbutton pressed");

            powerBtn.Press();
            Thread.Sleep(250);
            Console.WriteLine("\nUser - Powerbutton pressed");
            powerBtn.Press();
            Thread.Sleep(250);

            Console.WriteLine("\nUser - Timebutton pressed");
            timeBtn.Press();
            Thread.Sleep(250);

            Console.WriteLine("\nUser - Startbutton pressed");
            startCancelBtn.Press();
            Thread.Sleep(10000);

            Console.WriteLine("\nUser - Startbutton pressed");
            startCancelBtn.Press();

            Thread.Sleep(250);

            Console.WriteLine("\nUser - Door Opens");
            door.Open();

            Thread.Sleep(250);

            Console.WriteLine("\nUser - Door Closes");
            door.Close();
        }
コード例 #17
0
 public void Setup()
 {
     uut = new Timer();
 }
コード例 #18
0
ファイル: Program.cs プロジェクト: MaikenGuldberg/Aflevering2
        static void Main(string[] args)
        {
            // Setup all the objects,
            var _output            = new Output();
            var _light             = new Light(_output);
            var _display           = new Display(_output);
            var _timer             = new MicrowaveOvenClasses.Boundary.Timer();
            var _powerTube         = new PowerTube(_output);
            var _powerButton       = new Button();
            var _timerButton       = new Button();
            var _startCancelButton = new Button();
            var _door          = new Door();
            var _cookControl   = new CookController(_timer, _display, _powerTube);
            var _userInterface = new UserInterface(_powerButton, _timerButton, _startCancelButton, _door, _display, _light, _cookControl);

            _cookControl.UI = _userInterface;

            // Simulate user activities (main senario)
            _door.Open();
            _door.Close();

            _powerButton.Press();
            _powerButton.Press();
            _powerButton.Press();

            _timerButton.Press();

            _startCancelButton.Press();

            //// Simulate user activities (extension 1: The user presses the Start-Cancel button during setup)
            //_door.Open();
            //_door.Close();

            //_powerButton.Press();
            //_powerButton.Press();
            //_startCancelButton.Press();

            //// Simulate user activities (extension 2: The user opens the Door during setup)
            //_door.Open();
            //_door.Close();

            //_powerButton.Press();
            //_powerButton.Press();
            //_door.Open();

            //// Simulate user activities (extension 3: The user presses the Start-Cancel button during cooking)
            //_door.Open();
            //_door.Close();

            //_powerButton.Press();
            //_powerButton.Press();
            //_powerButton.Press();

            //_timerButton.Press();

            //_startCancelButton.Press();
            //_startCancelButton.Press();

            //// Simulate user activities (extension 4: The user opens the Door during cooking)
            //_door.Open();
            //_door.Close();

            //_powerButton.Press();
            //_powerButton.Press();
            //_powerButton.Press();

            //_timerButton.Press();

            //_startCancelButton.Press();
            //_door.Open();

            // Wait while the classes, including the timer, do their job
            System.Console.WriteLine("Tast enter når applikationen skal afsluttes");
            System.Console.ReadLine();
        }