public void MotorController_SetForward_CallsMotorActorSetSpeedOnceOnEachSide(MotorSpeed motorSpeed) { // Arrange var motorActors = new Mock <IDirectional <IMotorActor> >(); var motorActorLeft = new Mock <IMotorActor>(); var motorActorRight = new Mock <IMotorActor>(); motorActors.SetupGet(_ => _.Right).Returns(motorActorRight.Object); motorActors.SetupGet(_ => _.Left).Returns(motorActorLeft.Object); var motorSpeedConverter = new MotorSpeedConverter(); var testee = new MotorController(motorActors.Object, motorSpeedConverter); // Act testee.SetForward(motorSpeed); // Assert motorActors.Verify(p => p.Right.SetSpeed(It.IsAny <double>()), Times.Once()); motorActors.Verify(p => p.Left.SetSpeed(It.IsAny <double>()), Times.Once()); }