public void CannotAddSameAbilityTwice() { Actor actor = new Actor(); IAbility one = new AbilityA(); IAbility two = new AbilityA(); actor.Can(one); actor.Invoking(a => a.Can(two)).Should().Throw <System.ArgumentException>(); }
public void UsingAvailableAbility() { Actor actor = new Actor(); IAbility a = new AbilityA(); IAbility b = new AbilityB(); actor.Can(a); actor.Can(b); actor.Using <AbilityA>().Should().BeSameAs(a); actor.Using <AbilityB>().Should().BeSameAs(b); }