public void TestIngenuityTurns() { State details = new State(); Assert.AreEqual <uint>(0, Ingenuity.GetTurnsRemaining(details)); for (int i = 3; i >= 0; --i) { Ingenuity.SetTurnsRemaining(details, (uint)i); Assert.AreEqual <uint>((uint)i, Ingenuity.GetTurnsRemaining(details)); } }
public void TestIngenuityBelowLevelCantBeUsed() { Ingenuity ingenuity = new Ingenuity(); State state = Utility.CreateDefaultState(); state.CrafterLevel = 25; state.SynthLevel = 20; state.Progress = 0; state.MaxProgress = 100; Assert.IsFalse(ingenuity.CanUse(state)); }
public void TestIngenuityLevelReduction() { Ingenuity ingenuity = new Ingenuity(); 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>(0, Compute.LevelSurplus(state)); }
public void TestLargerProgressGainsWithIngenuity() { Ingenuity ingenuity = new Ingenuity(); 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)); }
public void TestMultipleStatAssignment2() { State details = new State(); details.CrafterLevel = 13U; details.SynthLevel = 40U; details.Quality = 1215U; details.MaxQuality = 923U; details.Condition = Engine.Condition.Excellent; Manipulation.SetTurnsRemaining(details, 2); GreatStrides.SetTurnsRemaining(details, 3); Ingenuity.SetTurnsRemaining(details, 1); SteadyHand.SetTurnsRemaining(details, 4); Assert.AreEqual <uint>(13, details.CrafterLevel); Assert.AreEqual <uint>(40, details.SynthLevel); Assert.AreEqual <uint>(1215, details.Quality); Assert.AreEqual <uint>(923, details.MaxQuality); Assert.AreEqual <Engine.Condition>(Engine.Condition.Excellent, details.Condition); Assert.AreEqual <uint>(2, Manipulation.GetTurnsRemaining(details)); Assert.AreEqual <uint>(3, GreatStrides.GetTurnsRemaining(details)); Assert.AreEqual <uint>(1, Ingenuity.GetTurnsRemaining(details)); Assert.AreEqual <uint>(4, SteadyHand.GetTurnsRemaining(details)); }