public void ShouldEnsurePipelineWithSpecificArgsIsCalled()
    {
      // arrange
      var args = new MyPipelineArgs { Id = 1 };
      this.watcher.Expects("mypipeline", a => ((MyPipelineArgs)a).Id == 1);

      // act
      CorePipeline.Run("mypipeline", args);

      // assert
      this.watcher.EnsureExpectations();
    }
        public void ShouldEnsurePipelineWithSpecificArgsIsCalled()
        {
            // arrange
            var args = new MyPipelineArgs {
                Id = 1
            };

            this.watcher.Expects("mypipeline", a => ((MyPipelineArgs)a).Id == 1);

            // act
            CorePipeline.Run("mypipeline", args);

            // assert
            this.watcher.EnsureExpectations();
        }
        public void ShouldThrowExceptionIfNoExpectedPipelineCallWithSpecificArgsReceived()
        {
            // arrange
            var args = new MyPipelineArgs {
                Id = 1
            };

            this.watcher.Expects("mypipeline", a => ((MyPipelineArgs)a).Id == 2);

            CorePipeline.Run("mypipeline", args);

            // act
            Action action = this.watcher.EnsureExpectations;

            // assert
            action.ShouldThrow <InvalidOperationException>().WithMessage("Expected to receive a pipeline call matching (pipelineArgs). Actually received no matching calls.");
        }
    public void ShouldThrowExceptionIfNoExpectedPipelineCallWithSpecificArgsReceived()
    {
      // arrange
      var args = new MyPipelineArgs { Id = 1 };
      this.watcher.Expects("mypipeline", a => ((MyPipelineArgs)a).Id == 2);

      CorePipeline.Run("mypipeline", args);

      // act
      Action action = this.watcher.EnsureExpectations;

      // assert
      action.ShouldThrow<InvalidOperationException>().WithMessage("Expected to receive a pipeline call matching (pipelineArgs). Actually received no matching calls.");
    }