Exemple #1
0
        public void EvaluateOnObjectUpdate()
        {
            Guid newId = Guid.NewGuid();

            try
            {
                MAObjectHologram maObject = ActiveConfig.DB.CreateMAObject(newId, "person", ObjectModificationType.Update);

                // Positive Tests
                ObjectChangeRule target = new ObjectChangeRule();
                target.TriggerEvents = TriggerEvents.Update;
                Assert.IsTrue(target.Evaluate(maObject));

                target.TriggerEvents = TriggerEvents.Add | TriggerEvents.Update;
                Assert.IsTrue(target.Evaluate(maObject));

                target.TriggerEvents = TriggerEvents.Add | TriggerEvents.Update | TriggerEvents.Delete;
                Assert.IsTrue(target.Evaluate(maObject));

                target.TriggerEvents = TriggerEvents.Update | TriggerEvents.Delete;
                Assert.IsTrue(target.Evaluate(maObject));

                // Negative Tests
                target = new ObjectChangeRule();
                target.TriggerEvents = TriggerEvents.Add | TriggerEvents.Delete;
                Assert.IsFalse(target.Evaluate(maObject));

                target = new ObjectChangeRule();
                target.TriggerEvents = TriggerEvents.Delete;
                Assert.IsFalse(target.Evaluate(maObject));

                target = new ObjectChangeRule();
                target.TriggerEvents = TriggerEvents.Add;
                Assert.IsFalse(target.Evaluate(maObject));
            }
            finally
            {
                ActiveConfig.DB.DeleteMAObjectPermanent(newId);
            }
        }