public void TestConditionalValues() { var masterValuesTable = new List<MasterValueRecord>(); masterValuesTable.Add(new MasterValueRecord() { Score = 1, PassiveModifier = 2 }); masterValuesTable.Add(new MasterValueRecord() { Score = 2, PassiveModifier = 4 }); masterValuesTable.Add(new MasterValueRecord() { Score = 3, PassiveModifier = 6 }); var character = new Character(masterValuesTable); var bonusSource = new BonusSource(character, "Test"); bonusSource.AddBonus("when foo", 2); bonusSource.AddBonus("when foo", 3); bonusSource.AddBonus("when bar", 1); IReadOnlyDictionary<string, int> actual = bonusSource.ConditionalValues; var expected = new Dictionary<string, int>() { {"when foo", 3}, {"when bar", 1} }; Assert.That(actual, Is.EquivalentTo(expected)); }
public void TestValueWhenEmpty() { var masterValuesTable = new List<MasterValueRecord>(); masterValuesTable.Add(new MasterValueRecord() { Score = 1, PassiveModifier = 2 }); masterValuesTable.Add(new MasterValueRecord() { Score = 2, PassiveModifier = 4 }); masterValuesTable.Add(new MasterValueRecord() { Score = 3, PassiveModifier = 6 }); var character = new Character(masterValuesTable); var bonusSource = new BonusSource(character, "Test"); Assert.That(bonusSource.Value, Is.EqualTo(0)); }