public void Should_complete_the_rescue_vane() { var fail = new TestFail(); var middle = new Test(); var success = new TestSuccess(); Vane<TestSubject> vane = VaneFactory.New(() => fail, x => { x.Rescue(() => success, r => { }); x.Feather(() => middle); }); vane.Execute(_testSubject); Assert.IsTrue(middle.AssignCalled); Assert.IsTrue(middle.ExecuteCalled); Assert.IsTrue(middle.CompensateCalled); Assert.IsTrue(success.AssignCalled); Assert.IsTrue(fail.AssignCalled); Assert.IsTrue(fail.ExecuteCalled); Assert.IsTrue(fail.CompensateCalled); }
public void Should_create_the_plan_for_success() { var success = new TestSuccess(); Vane<TestSubject> vane = VaneFactory.Connect(success); vane.Execute(_testSubject); Assert.IsTrue(success.AssignCalled); }
public void Should_execute_both_vanes() { var success = new TestSuccess(); var log = new Test(); Vane<TestSubject> vane = VaneFactory.Connect(success, log); vane.Execute(_testSubject); Assert.IsTrue(success.AssignCalled); Assert.IsTrue(log.AssignCalled); Assert.IsTrue(log.ExecuteCalled); Assert.IsFalse(log.CompensateCalled); }
public void Should_complete_the_rescue_vane() { var success = new TestSuccess(); var fail = new TestFail(); var middle = new TestVane(); var rescue = new Rescue<TestSubject>(success); Vane<TestSubject> vane = Vane.Connect(fail, rescue, middle); Assert.IsTrue(vane.Execute(_testSubject)); Assert.IsTrue(fail.AssignCalled); Assert.IsTrue(fail.ExecuteCalled); Assert.IsFalse(fail.CompensateCalled); Assert.IsTrue(middle.AssignCalled); Assert.IsTrue(middle.ExecuteCalled); Assert.IsTrue(middle.CompensateCalled); Assert.IsTrue(success.AssignCalled); }
public void Should_execute_three_vanes() { var success = new TestSuccess(); var log = new TestVane(); var log2 = new TestVane(); Vane<TestSubject> vane = Vane.Connect(success, log, log2); vane.Execute(_testSubject); Assert.IsTrue(success.AssignCalled); Assert.IsTrue(log.AssignCalled); Assert.IsTrue(log.ExecuteCalled); Assert.IsFalse(log.CompensateCalled); Assert.IsTrue(log2.AssignCalled); Assert.IsTrue(log2.ExecuteCalled); Assert.IsFalse(log2.CompensateCalled); }
public override void Visit (TestSuccess node) { ; }
public override void Visit(TestSuccess node) { ; }