public void TestIngenuity2LevelReduction() { Ingenuity2 ingenuity = new Ingenuity2(); BasicSynthesis bs = new BasicSynthesis(); State state = Utility.CreateDefaultState(); state.CrafterLevel = 20; state.SynthLevel = 25; state.Progress = 0; state.MaxProgress = 100; Assert.AreEqual <int>(-5, Compute.LevelSurplus(state)); state = ingenuity.Activate(state, true); Assert.AreEqual <int>(3, Compute.LevelSurplus(state)); }
public void TestLargerProgressGainsWithIngenuity2() { Ingenuity2 ingenuity = new Ingenuity2(); State state = Utility.CreateDefaultState(); state.CrafterLevel = 20; state.SynthLevel = 25; state.Progress = 0; state.MaxProgress = 100; uint pbase = Compute.Progress(state, 100); state = ingenuity.Activate(state, true); uint ping = Compute.Progress(state, 100); Assert.IsTrue(ping > pbase); }
public void TestIngenuity2Turns() { Ingenuity2 ingenuity = new Ingenuity2(); BasicSynthesis bs = new BasicSynthesis(); State state = Utility.CreateDefaultState(); state.CrafterLevel = 20; state.SynthLevel = 25; state.Progress = 0; state.MaxProgress = 100; state = ingenuity.Activate(state, true); for (int i = 0; i < ingenuity.Duration; ++i) { Assert.AreEqual(ingenuity.Duration - i, Ingenuity2.GetTurnsRemaining(state)); state = bs.Activate(state, true); } Assert.AreEqual <uint>(0, Ingenuity2.GetTurnsRemaining(state)); Assert.IsFalse(Ingenuity.IsActive(state)); }