public void Fire_OneMatchingFactAssertedAndRetractedAndAssertedAgain_FiresOnce() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact3 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; Session.Insert(fact1); Session.Retract(fact2); Session.Insert(fact3); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_OneMatchingFactsAndOneInvalidInsertedTheInvalidUpdatedToValid_FiresOnceWithTwoFactInCollection() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(2) { TestProperty = "Invalid Value" }; var fact21 = new EquatableFact(2) { TestProperty = "Valid Value 2" }; Session.Insert(fact1); Session.Insert(fact2); Session.Update(fact21); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(2, GetFiredFact <IEnumerable <EquatableFact> >().Count()); }
public void Fire_TwoMatchingFactsInsertedOneRetracted_FiresOnceWithOneFactInCollection() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(2) { TestProperty = "Valid Value 2" }; var fact21 = new EquatableFact(2) { TestProperty = "Valid Value 2" }; Session.Insert(fact1); Session.Insert(fact2); Session.Retract(fact21); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(1, GetFiredFact <IEnumerable <EquatableFact> >().Count()); }
public override void Define() { EquatableFact fact1 = null; When() .Match <EquatableFact>(() => fact1, f => f.TestProperty.StartsWith("Valid")); Then() .Do(ctx => Action()); }
public void Fire_DuplicateInsert_Throws() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(1) {TestProperty = "Valid Value 2"}; //Act - Assert Session.Insert(fact1); Assert.Throws<ArgumentException>(() => Session.Insert(fact2)); }
public void Fire_OneMatchingFactAssertedAndRetracted_DoesNotFire() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; Session.Insert(fact1); Session.Retract(fact2); //Act Session.Fire(); //Assert AssertDidNotFire(); }
public void Fire_OneFactUpdatedFromInvalidToMatching_FiresOnce() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Invalid Value 1"}; var fact2 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; Session.Insert(fact1); Session.Update(fact2); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_OneMatchingFactInsertedThenUpdated_FiresOnceWithOneFactInCollection() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact11 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; Session.Insert(fact1); Session.Update(fact11); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(1, GetFiredFact<IEnumerable<EquatableFact>>().Count()); }
public void Fire_DuplicateInsert_Throws() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(1) { TestProperty = "Valid Value 2" }; //Act - Assert Session.Insert(fact1); Assert.Throws <ArgumentException>(() => Session.Insert(fact2)); }
public void Fire_OneMatchingFact_FiresOnce() { //Arrange var fact = new EquatableFact(1) { TestProperty = "Valid Value 1" }; Session.Insert(fact); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_OneMatchingFactAssertedAndRetractedAndAssertedAgain_FiresOnce() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact3 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; Session.Insert(fact1); Session.Retract(fact2); Session.Insert(fact3); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_TwoMatchingFactsInsertedOneRetracted_FiresOnceWithOneFactInCollection() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(2) {TestProperty = "Valid Value 2"}; var fact21 = new EquatableFact(2) {TestProperty = "Valid Value 2"}; Session.Insert(fact1); Session.Insert(fact2); Session.Retract(fact21); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(1, GetFiredFact<IEnumerable<EquatableFact>>().Count()); }
public void Fire_OneMatchingFactsAndOneInvalidInsertedTheInvalidUpdatedToValid_FiresOnceWithTwoFactInCollection() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(2) {TestProperty = "Invalid Value"}; var fact21 = new EquatableFact(2) {TestProperty = "Valid Value 2"}; Session.Insert(fact1); Session.Insert(fact2); Session.Update(fact21); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(2, GetFiredFact<IEnumerable<EquatableFact>>().Count()); }
public void Fire_OneFactUpdatedFromInvalidToMatching_FiresOnce() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Invalid Value 1" }; var fact2 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; Session.Insert(fact1); Session.Update(fact2); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_OneMatchingFactAssertedAndRetracted_DoesNotFire() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; Session.Insert(fact1); Session.Retract(fact2); //Act Session.Fire(); //Assert AssertDidNotFire(); }
public void Fire_TwoMatchingFacts_FiresTwice() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact2 = new EquatableFact(2) { TestProperty = "Valid Value 2" }; Session.Insert(fact1); Session.Insert(fact2); //Act Session.Fire(); //Assert AssertFiredTwice(); }
public void Fire_OneMatchingFactInsertedThenUpdated_FiresOnceWithOneFactInCollection() { //Arrange var fact1 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; var fact11 = new EquatableFact(1) { TestProperty = "Valid Value 1" }; Session.Insert(fact1); Session.Update(fact11); //Act Session.Fire(); //Assert AssertFiredOnce(); Assert.AreEqual(1, GetFiredFact <IEnumerable <EquatableFact> >().Count()); }
public void Fire_OneMatchingFact_FiresOnce() { //Arrange var fact = new EquatableFact(1) {TestProperty = "Valid Value 1"}; Session.Insert(fact); //Act Session.Fire(); //Assert AssertFiredOnce(); }
public void Fire_TwoMatchingFacts_FiresTwice() { //Arrange var fact1 = new EquatableFact(1) {TestProperty = "Valid Value 1"}; var fact2 = new EquatableFact(2) {TestProperty = "Valid Value 2"}; Session.Insert(fact1); Session.Insert(fact2); //Act Session.Fire(); //Assert AssertFiredTwice(); }