public ReadOnlyAbility(Ability ability) { if (ability == null) { throw new ArgumentNullException("ability", "ReadOnlyAbility requires a normal ability"); } _ability = ability; }
public void ImplicitOperator_AssignToInt_ReturnsScore() { // Assign // Act int score = new Ability(AbilityType.Strength, 10); // Assert Assert.Equal(10, score); }
public void Increase_With2_IncreasesScoreWith2() { // Assign var attr = new Ability(AbilityType.Strength, 10); // Act attr.Increase(2); // Assert Assert.Equal(12, attr.Score); }
public void Decrease_With2_DecreasesBaseScoreWith2() { // Assign var attr = new Ability(AbilityType.Strength, 10); // Act attr.Decrease(2); // Assert Assert.Equal(8, attr.BaseScore); }
public void Increase_With2_IncreasesModifierWith1() { // Assign var attr = new Ability(AbilityType.Strength, 10); var before = attr.Modifier; // Act attr.Increase(2); // Assert Assert.Equal(before + 1, attr.Modifier); }
public void Modifier_WithScore0_ThrowsException() { // Assign var attr = new Ability(AbilityType.Strength, 0); // Act // Assert Assert.Throws<ArgumentException>(() => attr.Modifier); }
public void Modifier_GivenScore_ReturnsCorrectValue(int score, int expectedModifier) { // Assign // Act var attr = new Ability(AbilityType.Strength, score); // Assert Assert.Equal(expectedModifier, attr.Modifier); }