public void TestNewChild() { //setup using Datapack pack = new Datapack("datapacks", "pack", "a pack", 0, new NoneFileCreator()); PackNamespace space = pack.Namespace("space"); //test ChildAdvancement advancement = GetChildAdvancement(space); advancement.NewChild("childchild", new EnchantedItemTrigger() { Levels = 5 }, null !, new JsonText.Text("Name"), new JsonText.Text("Description"), ID.Item.stone); Assert.IsTrue(pack.FileCreator.GetDirectories().Any(d => d == "datapacks/pack/data/space/advancements/"), "Directory wasn't created"); Assert.IsTrue(pack.FileCreator.GetWriters().Any(w => w.path == "datapacks/pack/data/space/advancements/childchild.json"), "File wasn't created"); }
public void TestWriteChild() { //setup using Datapack pack = new Datapack("datapacks", "pack", "a pack", 0, new NoneFileCreator()); PackNamespace space = pack.Namespace("space"); //test ChildAdvancement childAdvancement = GetChildAdvancement(space); string advancementString = pack.FileCreator.GetWriters().Single(w => w.path == "datapacks/pack/data/space/advancements/child.json").writer.ToString() !; Assert.AreEqual("{\"requirements\":[[\"trigger_0\"]],\"criteria\":" + "{\"trigger_0\":{\"conditions\":{\"item\":{\"item\":\"minecraft:wooden_sword\"},\"levels\":{\"max\":5,\"min\":5}},\"trigger\":\"minecraft:enchanted_item\"}}" + ",\"display\":{\"icon\":{\"item\":\"minecraft:stone\"},\"title\":{\"text\":\"Name\"},\"description\":{\"text\":\"Description\"},\"frame\":\"goal\",\"show_toast\":false,\"announce_to_chat\":true,\"hidden\":true},\"parent\":\"space:parent\"}", advancementString, "Child file wasn't written correctly"); Assert.IsNull(childAdvancement.Requirements, "requirements weren't cleared"); Assert.IsNull(childAdvancement.Reward, "reward wasn't cleared"); Assert.IsNull(childAdvancement.Description, "description wasn't cleared"); Assert.IsNull(childAdvancement.Name, "name wasn't cleared"); }