public void MoveTo_IsNotForwarded_BecauseTheUnitBelongsToAnOpponent(ITurnTaking turnTaking, Player owner)
        {
            // :::: ARRANGE ::::
            var spyUnit = A.Fake<IUnit<Archer>>();
            var managedUnit = new FriendlyUnitManagementOnly<Archer>(spyUnit, turnTaking);

            A.CallTo(() => spyUnit.Owner).Returns(owner);

            // :::: ACT ::::
            managedUnit.MoveTo(DummyTile);

            // :::: ASSERT ::::
            A.CallTo(() => spyUnit.MoveTo(A<ITile>._)).MustNotHaveHappened();
        }
        public void PerformAction_IsForwarded_BecauseTheUnitBelongsToThePlayerInTurn(ITurnTaking turnTaking,
                                                                                     Player owner)
        {
            // :::: ARRANGE ::::
            var spyUnit = A.Fake<IUnit<Archer>>();
            var managedUnit = new FriendlyUnitManagementOnly<Archer>(spyUnit, turnTaking);

            A.CallTo(() => spyUnit.Owner).Returns(owner);

            // :::: ACT ::::
            managedUnit.PerformAction();

            // :::: ASSERT ::::
            A.CallTo(() => spyUnit.PerformAction()).MustHaveHappened();
        }