public void ShouldThrowExceptionWhenTryingToStart()
        {
            //arrange
            var droneMock       = new Mock <Drone>(null);
            var coordinatesMock = new Mock <Coordinates>(null, null);
            var initiated       = new Initiated(droneMock.Object, coordinatesMock.Object);

            //act
            initiated.Start();

            //assert  - Expects exception
        }
        public void ShouldMoveToCreatedWhenShutdown()
        {
            //arrange
            var droneMock       = new Mock <Drone>(null);
            var coordinatesMock = new Mock <Coordinates>(null, null);
            var initiated       = new Initiated(droneMock.Object, coordinatesMock.Object);

            //act
            initiated.Shutdown();

            //assert
            Assert.IsInstanceOfType(droneMock.Object.State, typeof(Created));
        }
        public void ShouldStayInInitiatedStateWhenSettingInitialPosition()
        {
            //arrange
            var droneMock       = new Mock <Drone>(null);
            var coordinatesMock = new Mock <Coordinates>(null, null);
            var initiated       = new Initiated(droneMock.Object, coordinatesMock.Object);

            //act
            initiated.SetInitialPosition(coordinatesMock.Object);

            //assert
            Assert.IsInstanceOfType(droneMock.Object.State, typeof(Initiated));
        }