Exemplo n.º 1
0
        public void CraftingSteps()
        {
            ICurrency trans = container.Get <ICurrency>("Transmutation");
            ICurrency aug   = container.Get <ICurrency>("Augmentation");
            ICurrency alt   = container.Get <ICurrency>("Alteration");
            ICurrency regal = container.Get <ICurrency>("Regal");
            ICurrency exalt = container.Get <ICurrency>("Exalted");
            ICurrency scour = container.Get <ICurrency>("Scouring");
            ICurrency chaos = container.Get <ICurrency>("Chaos");
            ICurrency alch  = container.Get <ICurrency>("Alchemy");

            ItemStatus status = new ItemStatus();

            status.Initialized = true;

            status = trans.GetNextStatus(status);
            Assert.IsTrue(status.Validate());
            Assert.IsTrue(aug.IsWarning(status));
            Assert.IsFalse(aug.IsError(status));

            status = aug.GetNextStatus(status);
            Assert.IsTrue(aug.IsError(status));

            Assert.IsTrue(status.Validate());
            Assert.IsTrue(chaos.IsError(status));
            status = regal.GetNextStatus(status);
            Assert.IsTrue(status.Validate());
            status = chaos.GetNextStatus(status);
            Assert.IsTrue(status.Validate());

            for (int i = 0; i < 2; i++)
            {
                Assert.IsTrue(exalt.IsWarning(status));
                Assert.IsFalse(exalt.IsError(status));
                status = exalt.GetNextStatus(status);
                Assert.IsTrue(status.Validate());
            }
            Assert.IsTrue(exalt.IsError(status));

            status = scour.GetNextStatus(status);
            status = alch.GetNextStatus(status);

            Assert.IsTrue(trans.IsError(status));
            Assert.IsTrue(aug.IsError(status));
            Assert.IsTrue(alt.IsError(status));
        }
        /// <summary>
        /// Validates this Medication History object
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages to date, these may be added to within this method</param>
        void IMedicationHistoryCeased.Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if (vb.ArgumentRequiredCheck("ItemStatus", ItemStatus))
            {
                if (ItemStatus != null)
                {
                    ItemStatus.Validate(path + ".ItemStatus", messages);
                }
            }

            if (vb.ArgumentRequiredCheck("ChangesMade", ChangesMade))
            {
                if (ChangesMade != null)
                {
                    ChangesMade.Validate(path + ".ChangesMade", messages);
                }
            }

            vb.ArgumentRequiredCheck("ReasonForChange", ReasonForChange);
        }