public void ItStopsAtPoint()
    {
        IMonster          monster    = GetMonsterMock();
        MonsterController controller = GetControllerMock(monster);

        Vector3 vect1 = new Vector3(0, 0, 1.1f);

        controller = SetWithSingleWaypointAndVector(controller, monster, vect1);

        controller.Move(vect1);
        monster.DidNotReceiveWithAnyArgs().Move(vect1);
    }
    public IEnumerable ItIgnoresZeroAndNegativeDamage()
    {
        IMonster          monster    = GetMonsterMock();
        MonsterController controller = GetControllerMock(monster);

        controller = SetWithSingleWaypoint(controller, monster);

        //zero
        controller.GetDamage(0);

        monster.DidNotReceiveWithAnyArgs().ChangeHealthBar(0.1f);
        monster.DidNotReceiveWithAnyArgs().Die(10);

        yield return(null);

        monster.DidNotReceiveWithAnyArgs().ChangeColor(Color.black);

        //negative
        controller.GetDamage(-100);

        monster.DidNotReceiveWithAnyArgs().ChangeHealthBar(0.1f);
        monster.DidNotReceiveWithAnyArgs().Die(10);

        yield return(null);

        monster.DidNotReceiveWithAnyArgs().ChangeColor(Color.black);
    }
    public IEnumerable ItNotChangesColorWithZeroChangeSpeed()
    {
        IMonster          monster    = GetMonsterMock();
        MonsterController controller = GetControllerMock(monster);

        controller.changindColorSpeed = 0;
        controller = SetWithSingleWaypoint(controller, monster);

        controller.GetDamage(10);

        yield return(null);

        monster.DidNotReceiveWithAnyArgs().ChangeColor(Color.black);
    }