Have one last unit test

This commit is contained in:
2019-09-11 22:35:35 -06:00
parent 6e42363daf
commit cede87461f
16 changed files with 269 additions and 47 deletions

View File

@@ -0,0 +1,44 @@
using System.Threading.Tasks;
using Moq;
using NUnit.Framework;
using Tello_Drone;
namespace TelloDroneUnitTests
{
public class MissionCommanderTests
{
private Mock<IDroneFactory> _mockDroneFactory;
private Mock<IMissions> _mockMission;
private Mock<Drone> _mockDrone;
private Mock<IDroneCommands> _mockDroneCommands;
[SetUp]
public void SetUp()
{
_mockDroneFactory = new Mock<IDroneFactory>();
_mockMission = new Mock<IMissions>();
_mockDroneCommands = new Mock<IDroneCommands>();
_mockDrone = new Mock<Drone>(_mockDroneCommands.Object);
}
[Test]
public void RunMissionTest()
{
_mockDroneCommands.Setup(x => x.Command()).Returns(true);
_mockDroneFactory.SetupGet(x => x.CreateDrone).Returns(_mockDrone.Object);
var missionCommander = new MissionCommander(_mockDroneFactory.Object);
missionCommander.RunMission(_mockMission.Object);
_mockMission.Verify(x => x.Run(It.IsAny<Drone>()), Times.Once);
}
[Test]
public void RunMissionSetupFailed()
{
_mockDroneCommands.Setup(x => x.Command()).Returns(false);
_mockDroneFactory.SetupGet(x => x.CreateDrone).Returns(_mockDrone.Object);
var missionCommander = new MissionCommander(_mockDroneFactory.Object);
missionCommander.RunMission(_mockMission.Object);
_mockMission.Verify(x => x.Run(It.IsAny<Drone>()), Times.Never);
}
}
}