public void EvaluateOnSimpleEvent() { Guid newId = Guid.NewGuid(); try { MAObjectHologram maObject = ActiveConfig.DB.CreateMAObject(newId, "person"); AcmaEvent maevent = GetAccountNameChangedEvent(); RaisedEvent exitEvent = new RaisedEvent(maevent, maObject); maObject.IncomingEvents = new List <RaisedEvent>() { exitEvent }; // Positive Tests EventRule target = new EventRule(); target.EventName = "accountNameChanged"; Assert.IsTrue(target.Evaluate(maObject)); // Negative Tests maevent = GetSupervisorChangedEvent(); exitEvent = new RaisedEvent(maevent, maObject); maObject.IncomingEvents = new List <RaisedEvent>() { exitEvent }; target.EventName = "accountNameChanged"; Assert.IsFalse(target.Evaluate(maObject)); target.EventName = "accountNameChanged"; target.EventSource = ActiveConfig.DB.GetAttribute("supervisor"); Assert.IsFalse(target.Evaluate(maObject)); } finally { ActiveConfig.DB.DeleteMAObjectPermanent(newId); } }
public void EvaluateOnSourceEvent() { Guid supervisorId = Guid.NewGuid(); Guid targetId = Guid.NewGuid(); try { MAObjectHologram supervisorObject = ActiveConfig.DB.CreateMAObject(supervisorId, "person"); MAObjectHologram targetObject = ActiveConfig.DB.CreateMAObject(targetId, "person"); AcmaSchemaAttribute supervisorAttribute = ActiveConfig.DB.GetAttribute("supervisor"); targetObject.SetAttributeValue(supervisorAttribute, supervisorObject.ObjectID); targetObject.CommitCSEntryChange(); AcmaEvent maevent = GetAccountNameChangedEvent(); RaisedEvent exitEvent = new RaisedEvent(maevent, supervisorObject); targetObject.IncomingEvents = new List <RaisedEvent>() { exitEvent }; // Positive Tests EventRule target = new EventRule(); target.EventName = "accountNameChanged"; target.EventSource = ActiveConfig.DB.GetAttribute("supervisor"); Assert.IsTrue(target.Evaluate(targetObject)); // Negative Tests target = new EventRule(); target.EventName = "accountNameChanged"; target.EventSource = ActiveConfig.DB.GetAttribute("directReports"); Assert.IsFalse(target.Evaluate(targetObject)); } finally { ActiveConfig.DB.DeleteMAObjectPermanent(targetId); ActiveConfig.DB.DeleteMAObjectPermanent(supervisorId); } }