public void FactoryBotDefineBuildItemTest() { DefinedFactory <Item> definedItem = Factory.Define <Item>(new Dictionary <string, object>() { { "name", "test" }, { "posX", 0.3f }, { "posY", 0.1f }, { "posZ", 0.2f }, { "amount", 3 } }); Item item = definedItem.Build(); Assert.AreEqual(item.name, "test"); Assert.AreEqual(item.posX, 0.3f); Assert.AreEqual(item.posY, 0.1f); Assert.AreEqual(item.posZ, 0.2f); Assert.AreEqual(item.amount, 3); Item overrideItem = definedItem.Build(new Dictionary <string, object>() { { "name", "testtest" }, { "amount", 6 } }); Assert.AreEqual(overrideItem.name, "testtest"); Assert.AreEqual(overrideItem.posX, 0.3f); Assert.AreEqual(overrideItem.posY, 0.1f); Assert.AreEqual(overrideItem.posZ, 0.2f); Assert.AreEqual(overrideItem.amount, 6); }
public void FactoryBotDefineBuildItemListTest() { DefinedFactory <Item> definedItem = Factory.Define <Item>(new Dictionary <string, object>() { { "name", "test" }, { "posX", 0.3f }, { "posY", 0.1f }, { "posZ", 0.2f }, { "amount", 3 } }); List <Item> itemList = definedItem.BuildList(); Assert.AreEqual(itemList.Count, 1); foreach (Item item in itemList) { Assert.AreEqual(item.name, "test"); Assert.AreEqual(item.posX, 0.3f); Assert.AreEqual(item.posY, 0.1f); Assert.AreEqual(item.posZ, 0.2f); Assert.AreEqual(item.amount, 3); } List <Item> overrideOneItemList = definedItem.BuildList(new Dictionary <string, object>() { { "posX", 0.6f }, { "posY", 0.6f }, { "posZ", 0.6f }, }); Assert.AreEqual(overrideOneItemList.Count, 1); foreach (Item item in overrideOneItemList) { Assert.AreEqual(item.name, "test"); Assert.AreEqual(item.posX, 0.6f); Assert.AreEqual(item.posY, 0.6f); Assert.AreEqual(item.posZ, 0.6f); Assert.AreEqual(item.amount, 3); } List <Item> overrideItemList = definedItem.BuildList(new Dictionary <string, object>() { { "name", "testtest" }, { "amount", 6 } }, 5); Assert.AreEqual(overrideItemList.Count, 5); foreach (Item item in overrideItemList) { Assert.AreEqual(item.name, "testtest"); Assert.AreEqual(item.posX, 0.3f); Assert.AreEqual(item.posY, 0.1f); Assert.AreEqual(item.posZ, 0.2f); Assert.AreEqual(item.amount, 6); } }