21 public new virtual Assembly
Code {
get; }
25 internal class EMMLoaderTests
30 Main.instance =
new Main();
32 EMMLoader.Initialize();
37 public void TestRegisterMod()
39 var fakeMod =
new Mock<FakeMod>();
42 fakeMod.Object.GetType()
43 .GetField(
"loading", BindingFlags.Instance | BindingFlags.NonPublic)
44 ?.SetValue(fakeMod.Object,
false);
46 Assert.Throws<Exception>(() => EMMLoader.RegisterMod(fakeMod.Object));
48 fakeMod.Object.GetType()
49 .GetField(
"loading", BindingFlags.Instance | BindingFlags.NonPublic)
50 ?.SetValue(fakeMod.Object,
true);
52 fakeMod.SetupGet(x => x.Name).Returns(
"TestMod");
54 fakeMod.SetupGet(x => x.Code).Returns(Assembly.GetExecutingAssembly());
56 Assert.AreEqual(fakeMod.Object.Name,
"TestMod");
57 Assert.AreEqual(fakeMod.Object.Code, Assembly.GetExecutingAssembly());
59 EMMLoader.RegisterMod(fakeMod.Object);
61 fakeMod.VerifyGet(x => x.Name, Times.Exactly(7));
62 fakeMod.VerifyGet(x => x.Code, Times.Once);
63 TestData(1, testReserves:
false, testDictionaries:
false);
67 public void TestSetupMod()
69 EMMLoader.Initialize();
72 var fakeMod =
new Mock<FakeMod>();
74 fakeMod.Object.GetType()
75 .GetField(
"loading", BindingFlags.Instance | BindingFlags.NonPublic)
76 ?.SetValue(fakeMod.Object,
true);
78 fakeMod.SetupGet(x => x.Name).Returns(
"TestMod");
82 Assert.AreEqual(fakeMod.Object.Name,
"TestMod");
85 EMMLoader.RegisterMod(fakeMod.Object);
88 EMMLoader.SetupContent(obj);
104 private void TestData(
int num,
bool testReserves =
true,
bool testMaps =
true,
bool testDictionaries =
true,
bool testMods =
true)
108 Assert.IsTrue(EMMLoader.ReserveRarityID() == num);
109 Assert.IsTrue(EMMLoader.ReserveModifierID() == num);
110 Assert.IsTrue(EMMLoader.ReservePoolID() == num);
111 Assert.IsTrue(EMMLoader.ReserveEffectID() == num);
116 Assert.IsTrue(EMMLoader.RaritiesMap.Count == num);
117 Assert.IsTrue(EMMLoader.ModifiersMap.Count == num);
118 Assert.IsTrue(EMMLoader.PoolsMap.Count == num);
119 Assert.IsTrue(EMMLoader.EffectsMap.Count == num);
122 if (testDictionaries)
124 Assert.IsTrue(EMMLoader.Rarities.Count == num);
125 Assert.IsTrue(EMMLoader.Modifiers.Count == num);
126 Assert.IsTrue(EMMLoader.Pools.Count == num);
127 Assert.IsTrue(EMMLoader.Effects.Count == num);
132 Assert.IsTrue(EMMLoader.Mods.Count == num);
137 public void TestInitialize()
139 EMMLoader.Initialize();