public void SetUp() { _componentEvaluator1 = new MockComponentEvaluator(TimeSpan.FromMilliseconds(1000), null); _criteriaEvaluator1 = A.Fake <IExpectationCriteriaEvaluator>(); A.CallTo(() => _criteriaEvaluator1.Met).Returns(true); _criteriaFactory1 = A.Fake <IExpectationCriteriaEvaluatorFactory>(); A.CallTo(() => _criteriaFactory1.CreateInstance()).Returns(_criteriaEvaluator1); _expectation1 = new ExpectationEvaluator( TimeSpan.FromMilliseconds(500), _componentEvaluator1, new List <Func <IAsyncEnumerable <ConditionInstance>, IAsyncEnumerable <ConditionInstance> > >(), _criteriaFactory1); _componentEvaluator2 = new MockComponentEvaluator(TimeSpan.FromMilliseconds(1000), null); _criteriaEvaluator2 = A.Fake <IExpectationCriteriaEvaluator>(); A.CallTo(() => _criteriaEvaluator2.Met).Returns(true); _criteriaFactory2 = A.Fake <IExpectationCriteriaEvaluatorFactory>(); A.CallTo(() => _criteriaFactory2.CreateInstance()).Returns(_criteriaEvaluator2); _expectation2 = new ExpectationEvaluator( TimeSpan.FromMilliseconds(500), _componentEvaluator2, new List <Func <IAsyncEnumerable <ConditionInstance>, IAsyncEnumerable <ConditionInstance> > >(), _criteriaFactory2); }
public void TearDown() { _componentEvaluator = null; _criteriaEvaluator = null; _criteriaFactory = null; _sut = null; }
public async Task Given_Configured_When_Build_Then_EvaluatorBuilt() { // Arrange var verifierTimeout = TimeSpan.FromMilliseconds(500); var spec = new ExpectationSpecification(); var config = (IExpectationConfigurator)spec; async IAsyncEnumerable <ConditionInstance> FilterImp(IAsyncEnumerable <ConditionInstance> enumerable) { await foreach (var item in enumerable) { if (item.When >= TimeSpan.FromMilliseconds(200)) { continue; } yield return(item); } } var filterSpec = A.Fake <IExpectationFilterSpecification>(); A.CallTo(() => filterSpec.Build()).Returns(FilterImp); bool failed = false; var criteria = A.Fake <IExpectationCriteriaEvaluator>(); A.CallTo(() => criteria.Evaluate(A <ConditionInstance> ._)).Invokes((ConditionInstance c) => { if (c.When >= TimeSpan.FromMilliseconds(200)) { failed = true; } }); A.CallTo(() => criteria.Met).ReturnsLazily(() => !failed); var criteriaFactory = A.Fake <IExpectationCriteriaEvaluatorFactory>(); A.CallTo(() => criteriaFactory.CreateInstance()).Returns(criteria); var criteriaSpec = A.Fake <IExpectationCriteriaSpecification>(); A.CallTo(() => criteriaSpec.Build()).Returns(criteriaFactory); A.CallTo(() => criteriaSpec.Timeout).Returns(TimeSpan.FromMilliseconds(500)); var componentEvaluator = new MockComponentEvaluator(TimeSpan.FromMilliseconds(50), 8); config.Where(c => c.AddSpecification(filterSpec)) .Must(criteriaSpec); var evaluator = spec.Build(verifierTimeout, componentEvaluator, string.Empty); var result = await evaluator.EvaluateAsync(); Assert.That(result, Is.Not.Null); Assert.That(result.Met, Is.True); Assert.That(result.Completed, Is.True); }
public void SetUp() { _componentEvaluator = new MockComponentEvaluator(TimeSpan.FromMilliseconds(50), 1); _criteriaEvaluator = A.Fake <IExpectationCriteriaEvaluator>(); A.CallTo(() => _criteriaEvaluator.Met).Returns(true); _criteriaFactory = A.Fake <IExpectationCriteriaEvaluatorFactory>(); A.CallTo(() => _criteriaFactory.CreateInstance()).Returns(_criteriaEvaluator); _sut = new ExpectationEvaluator( TimeSpan.FromMilliseconds(100), _componentEvaluator, new List <Func <IAsyncEnumerable <ConditionInstance>, IAsyncEnumerable <ConditionInstance> > >(), _criteriaFactory); }
public void InitialSetup() { _verifierTimeout = TimeSpan.FromMilliseconds(500); _filterSpec = A.Fake <IExpectationFilterSpecification>(); A.CallTo(() => _filterSpec.Description).Returns(FilterDescription); _criteria = A.Fake <IExpectationCriteriaEvaluator>(); _criteriaFactory = A.Fake <IExpectationCriteriaEvaluatorFactory>(); A.CallTo(() => _criteriaFactory.CreateInstance()).Returns(_criteria); _criteriaSpec = A.Fake <IExpectationCriteriaSpecification>(); A.CallTo(() => _criteriaSpec.Build()).Returns(_criteriaFactory); A.CallTo(() => _criteriaSpec.Timeout).Returns(TimeSpan.FromMilliseconds(500)); A.CallTo(() => _criteriaSpec.Description).Returns(CriteriaDescription); _componentEvaluator = new MockComponentEvaluator(TimeSpan.FromMilliseconds(50), 8); }
public async Task Given_CriteriaMetEarly_When_Evaluate_Then_StopCheckingInstances(int incompleteCount) { var results = new List <bool>(); results.AddRange(Enumerable.Repeat(false, incompleteCount)); results.Add(true); A.CallTo(() => _criteriaEvaluator.Evaluate(A <ConditionInstance> ._)).ReturnsNextFromSequence(results.ToArray()); _componentEvaluator = new MockComponentEvaluator(TimeSpan.FromMilliseconds(10), 5); _sut = new ExpectationEvaluator( TimeSpan.FromMilliseconds(1000), _componentEvaluator, new List <Func <IAsyncEnumerable <ConditionInstance>, IAsyncEnumerable <ConditionInstance> > >(), _criteriaFactory); await _sut.EvaluateAsync(); Assert.That(_componentEvaluator.InstanceCount, Is.EqualTo(incompleteCount + 1)); }