コード例 #1
0
        public void Insert_Fact_RaisesFactInsertedEvent()
        {
            //Arrange
            var factory = CreateTarget();
            var session = factory.CreateSession();

            var fact = new FactType {
                TestProperty = "Valid Value"
            };

            object factorySender = null;
            WorkingMemoryEventArgs factoryArgs = null;
            object sessionSender = null;
            WorkingMemoryEventArgs sessionArgs = null;

            factory.Events.FactInsertedEvent += (sender, args) =>
            {
                factorySender = sender;
                factoryArgs   = args;
            };
            session.Events.FactInsertedEvent += (sender, args) =>
            {
                sessionSender = sender;
                sessionArgs   = args;
            };

            //Act
            session.Insert(fact);

            //Assert
            Assert.Same(session, factorySender);
            Assert.Same(session, sessionSender);
            Assert.Same(fact, factoryArgs.Fact.Value);
            Assert.Same(fact, sessionArgs.Fact.Value);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: CedarLogic/NRules
 private static void EventProviderOnFactUpdatedEvent(object sender, WorkingMemoryEventArgs e)
 {
     Console.WriteLine("Update: {0}", e.Fact.Value);
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: Matt-Mirage34d/NRules
 private static void EventProviderOnFactRetractingEvent(object sender, WorkingMemoryEventArgs e)
 {
     Console.WriteLine("Retract: {0}", e.Fact.Value);
 }
コード例 #4
0
 public static void OnFactRetractedEvent(object sender, WorkingMemoryEventArgs e)
 {
     BagTMLog.LogDebug(
         String.Format("BagTM Engine Processing Rules Events Fact about to be Retracted {0}", e.Fact.Value), sender);
 }
コード例 #5
0
ファイル: EventAggregator.cs プロジェクト: CedarLogic/NRules
 public void FactUpdated(Fact fact)
 {
     var handler = FactUpdatedEvent;
     if (handler != null)
     {
         var @event = new WorkingMemoryEventArgs(fact);
         handler(this, @event);
     }
 }