Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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));
        }
Пример #6
0
        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));
        }