示例#1
0
        public void Matches_IncludingCleanCache_EngineCleanCacheCalledOnce()
        {
            var queryFoundry = new Mock <IQuery>();
            var query        = queryFoundry.Object;

            var mock = new Mock <IPerformanceEngine>();

            mock.Setup(engine => engine.Execute(It.IsAny <TimeSpan>()))
            .Returns(new PerformanceResult(new TimeSpan(0, 0, 0, 2)));
            mock.Setup(engine => engine.CleanCache());
            IPerformanceEngine qp = mock.Object;

            var fasterThanConstraint = new FasterThanConstraint()
            {
                Engine = qp
            };

            fasterThanConstraint = fasterThanConstraint.MaxTimeMilliSeconds(5000).CleanCache();

            //Method under test
            fasterThanConstraint.Matches(query);

            //Test conclusion
            mock.Verify(engine => engine.Execute(It.IsAny <TimeSpan>()), Times.Once());
            mock.Verify(engine => engine.CleanCache(), Times.Once());
        }
示例#2
0
 protected IPerformanceEngine GetEngine(IQuery actual)
 {
     if (engine == null)
     {
         engine = new PerformanceEngineFactory().Instantiate(actual);
     }
     return(engine);
 }
示例#3
0
        public void Matches_ExecutionTooSlow_ReturnFalse()
        {
            var queryFoundry = new Mock <IQuery>();
            var query        = queryFoundry.Object;

            var stub = new Mock <IPerformanceEngine>();

            stub.Setup(engine => engine.Execute(It.IsAny <TimeSpan>()))
            .Returns(new PerformanceResult(new TimeSpan(0, 0, 0, 8)));
            IPerformanceEngine qp = stub.Object;

            var fasterThanConstraint = new FasterThanConstraint()
            {
                Engine = qp
            };

            fasterThanConstraint.MaxTimeMilliSeconds(5000);

            //Method under test
            var res = fasterThanConstraint.Matches(query);

            //Test conclusion
            Assert.That(res, Is.False);
        }