public void ActiveEffect_CheckStringIsValid() { String test1 = ""; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test1), "Empty String is invalid"); String test2 = ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":0"; Assert.IsTrue(ActiveEffect.IsValidActiveEffect(test2), "Basic Active Effect is valid"); String test3 = ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test3), "Should be at least 3 items in a resource"); String test4 = ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":10:11"; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test4), "Should be at most 3 items in a resource"); String test5 = ActiveEffect.TAG + ":" + ":blah:10"; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test5), "Should affect one of the 4 primary character resources"); String test6 = ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + PlayerCharacter.HEALTH; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test6), "Third item should be an int"); String test7 = "PE:" + PlayerCharacter.HEALTH + ":100"; Assert.IsFalse(ActiveEffect.IsValidActiveEffect(test7), "First item should be AE"); }
private void createActive_Click(object sender, EventArgs e) { int amount; if (int.TryParse(activeAmount.Text, out amount)) { String resource = activeResource.SelectedValue.ToString(); String result = String.Format("{0}:{1}:{2}", ActiveEffect.TAG, resource, amount); if (ActiveEffect.IsValidActiveEffect(result)) { activeEffectsList.Add(result); } } string toWrite = "ACTIVEEFFECTS"; foreach (String ie in activeEffectsList) { toWrite += "^" + ie; } WriteFile("activeEffects.txt", toWrite); }
public void Item_CheckFullStringIsValid() { String expected = "ID:1,Name:TestItem,Amount:1,Description:test item 1," + "ActiveEffect:" + ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "10" + ":" + ActiveEffect.TAG + ":" + PlayerCharacter.THIRST + ":" + "10" + ",PassiveEffect:" + PassiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "0.8" + ":" + PassiveEffect.TAG + ":" + PlayerCharacter.SANITY + ":" + "0.9" + ":" + PassiveEffect.TAG + ":" + PlayerCharacter.HUNGER + ":" + "0.8" + ",Requirements:2,Icon:test.png"; Assert.IsTrue(Item.IsValidItem(expected), "Full String should be valid"); String test1 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect:,PassiveEffect,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test1), "If active effect has items it should have at least 1"); String test2 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect:a,PassiveEffect,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test2), "If active effect has items they should be in groups of 3"); String test3 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect:a:b,PassiveEffect,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test3), "If active effect has items they should be in groups of 3"); String test4 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect:a:b:c:d,PassiveEffect,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test4), "If active effect has items they should be in groups of 3"); String test5a = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect:" + PassiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "10,PassiveEffect,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test5a), "Active Effect should be valid"); String test5b = PassiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "10"; Assert.AreEqual(Item.IsValidItem(test5a), ActiveEffect.IsValidActiveEffect(test5b), "Invalid Active Effect should mean invalid Item"); String test6 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect:,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test6), "If passive effect has items it should have at least 1"); String test7 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect:a,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test7), "If passive effect has items they should be in groups of 3"); String test8 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect:a:b,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test8), "If passive effect has items they should be in groups of 3"); String test9 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect:a:b:c:d,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test9), "If passive effect has items they should be in groups of 3"); String test10a = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect:" + ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "10,Requirements,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test10a), "Passive Effect should be valid"); String test10b = ActiveEffect.TAG + ":" + PlayerCharacter.HEALTH + ":" + "10"; Assert.AreEqual(Item.IsValidItem(test10a), PassiveEffect.IsValidPassiveEffect(test10b), "Invalid Passive Effect should mean invalid Item"); String test11 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect,Requirements:,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test11), "If Requirements has items it should have at least 1"); String test12 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect,Requirements:asdasd,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test12), "If Requirements has items they should be ints"); String test13 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect,Requirements:2:3:2,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test13), "If Requirements has items there shouldn't be duplicates"); String test14 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect,Requirements:2:3::4,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test14), "If Requirements has items none should be null"); String test15 = "ID:1,Name:TestItem,Amount:1,Description:test item 1,ActiveEffect,PassiveEffect,Requirements:2:-3:3:4,Icon:test.png"; Assert.IsFalse(Item.IsValidItem(test15), "If Requirements has items none should be negative"); }