public void SetUp() { Func <IAggregateRootEntity> sutFactory = () => (IAggregateRootEntity)null; var givens = new[] { new object(), new object() }; var result = new object(); Func <IAggregateRootEntity, object> when = _ => result; var then = result; _sut = new ResultCentricAggregateQueryTestSpecification( sutFactory, givens, when, then); }
public void RunReturnsExpectedResultWhenFailedBecauseDifferentResult() { var specification = new ResultCentricAggregateQueryTestSpecification( () => new FailResultCase(), new object[0], _ => ((FailResultCase)_).Fail(), FailResultCase.TheExpectedResult); var result = _sut.Run(specification); Assert.That(result.Passed, Is.False); Assert.That(result.Failed, Is.True); Assert.That(result.ButEvents, Is.EqualTo(Optional <object[]> .Empty)); Assert.That(result.ButException, Is.EqualTo(Optional <Exception> .Empty)); Assert.That(result.ButResult, Is.EqualTo(new Optional <int>(FailResultCase.TheActualResult))); }
public void RunReturnsExpectedResultWhenPassed() { var specification = new ResultCentricAggregateQueryTestSpecification( () => new PassCase(), new object[0], _ => ((PassCase)_).Pass(), PassCase.TheResult); var result = _sut.Run(specification); Assert.That(result.Passed, Is.True); Assert.That(result.Failed, Is.False); Assert.That(result.ButEvents, Is.EqualTo(Optional <object[]> .Empty)); Assert.That(result.ButException, Is.EqualTo(Optional <Exception> .Empty)); Assert.That(result.ButResult, Is.EqualTo(Optional <int> .Empty)); }
public void UsingDefaultCtorReturnsInstanceWithExpectedProperties() { Func <IAggregateRootEntity> sutFactory = () => (IAggregateRootEntity)null; var givens = new[] { new object(), new object() }; var result = new object(); Func <IAggregateRootEntity, object> when = _ => result; var then = result; var sut = new ResultCentricAggregateQueryTestSpecification( sutFactory, givens, when, then); Assert.That(sut.SutFactory, Is.SameAs(sutFactory)); Assert.That(sut.Givens, Is.EquivalentTo(givens)); Assert.That(sut.When, Is.SameAs(when)); Assert.That(sut.Then, Is.SameAs(then)); }