Пример #1
0
        public void AlwaysEmitPrimaryStatus()
        {
            var sink = new TestFlyingActionSink();
            var sut  = new AeroMachine2(0, 1, 2, sink);

            // Assert
            Assert.Equal(1, sink.Actions.Count);
            Assert.Equal("Speed 2, Height 1, Angle 0.", sink.Actions[0]);
        }
Пример #2
0
        public void ShouldIncreaseSpeed(
            int initialSpeed,
            int expectedValue,
            string expectedAction)
        {
            var sink = new TestFlyingActionSink();
            var sut  = new AeroMachine2(0, 0, initialSpeed, sink);

            // Act
            sut.SpeedUp();

            // Assert
            Assert.Equal(expectedValue, sut.Speed);
            Assert.Equal(expectedAction, sink.Actions[1]);
        }
Пример #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("\nPlease press direction key, +/- to change speed (q for exit).");

            // var flyer = new AeroMachine1(0, 0, 0);
            var flyer = new AeroMachine2(0, 0, 0, new ConsoleFlyingActionSink());

            while (true)
            {
                var keyInfo = Console.ReadKey(true);
                if (keyInfo.KeyChar == 'q' || keyInfo.KeyChar == 'Q')
                {
                    Console.WriteLine("\nEject...");
                    return;
                }
                switch (keyInfo.Key)
                {
                case ConsoleKey.LeftArrow:
                    flyer.TurnLeft();
                    break;

                case ConsoleKey.RightArrow:
                    flyer.TurnRight();
                    break;

                case ConsoleKey.UpArrow:
                    flyer.GoUp();
                    break;

                case ConsoleKey.DownArrow:
                    flyer.GoDown();
                    break;

                case ConsoleKey.Oem4:
                    flyer.SpeedUp();
                    break;

                case ConsoleKey.OemPlus:
                    flyer.SloDown();
                    break;
                }
            }
        }