public void TestThatGetTargetValueWithMapperGetsTargetValueFromMapper() { var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var mapperMock = MockRepository.GenerateMock <IMap>(); mapperMock.Expect(m => m.MapValue <string, string>(Arg <string> .Is.NotNull)) .Return(null) .Repeat.Any(); var dataObject = new MyDataObject(fieldMock, new Fixture()); Assert.That(dataObject, Is.Not.Null); var targetValue = dataObject.GetTargetValue <string>(mapperMock); Assert.That(targetValue, Is.Null); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); mapperMock.AssertWasCalled(m => m.MapValue <string, string>(Arg <string> .Is.NotNull)); }
public void TestThatGetTargetValueWithMapperGetsOriginalTargetValueIfAnDeliveryEngineMappingExceptionOccurs() { var fixture = new Fixture(); fixture.Customize <IDeliveryEngineMappingExceptionInfo>(e => e.FromFactory(() => MockRepository.GenerateMock <IDeliveryEngineMappingExceptionInfo>())); var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var mapperMock = MockRepository.GenerateMock <IMap>(); mapperMock.Expect(m => m.MapValue <string, string>(Arg <string> .Is.NotNull)) .Throw(fixture.CreateAnonymous <DeliveryEngineMappingException>()) .Repeat.Any(); var dataObject = new MyDataObject(fieldMock, new Fixture()); Assert.That(dataObject, Is.Not.Null); var targetValue = dataObject.GetTargetValue <string>(mapperMock); Assert.That(targetValue, Is.Not.Null); Assert.That(targetValue, Is.Not.Empty); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); mapperMock.AssertWasCalled(m => m.MapValue <string, string>(Arg <string> .Is.NotNull)); }
public void TestThatGetTargetValueGetsUnmappedTargetValueWhereSourceValueIsNotNullAndTypeOfTargetIsNullable() { var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var fixture = new Fixture(); fixture.Customize <string>(e => e.FromFactory(() => fixture.CreateAnonymous <int>().ToString(CultureInfo.InvariantCulture))); var dataObject = new MyDataObject(fieldMock, fixture); Assert.That(dataObject, Is.Not.Null); var targetValue = dataObject.GetTargetValue <int?>(); Assert.That(targetValue, Is.Not.Null); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); }
public void TestThatGetTargetValueGetsUnmappedTargetValueWhereSourceValueIsNullAndTypeOfTargetIsNullable() { var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(DateTime?)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var fixture = new Fixture(); fixture.Inject <DateTime?>(null); var dataObject = new MyDataObject(fieldMock, fixture); Assert.That(dataObject, Is.Not.Null); var targetValue = dataObject.GetTargetValue <DateTime?>(); Assert.That(targetValue, Is.Null); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); }
public void TestThatGetTargetValueThrowsDeliveryEngineMappingExceptionWithInnerExceptionIfDeliveryEngineMappingExceptionOccursInMapper() { var fixture = new Fixture(); fixture.Customize <IDeliveryEngineMappingExceptionInfo>(e => e.FromFactory(() => MockRepository.GenerateMock <IDeliveryEngineMappingExceptionInfo>())); var mapException = fixture.CreateAnonymous <DeliveryEngineMappingException>(); var mapMock = MockRepository.GenerateMock <IMap>(); mapMock.Expect(m => m.MapValue <string, string>(Arg <string> .Is.NotNull)) .Throw(mapException) .Repeat.Any(); var tableMock = MockRepository.GenerateMock <ITable>(); tableMock.Expect(m => m.NameTarget) .Return(fixture.CreateAnonymous <string>()) .Repeat.Any(); var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.Table) .Return(tableMock) .Repeat.Any(); fieldMock.Expect(m => m.NameTarget) .Return(fixture.CreateAnonymous <string>()) .Repeat.Any(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(mapMock) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var dataObject = new MyDataObject(fieldMock, new Fixture()); Assert.That(dataObject, Is.Not.Null); var exception = Assert.Throws <DeliveryEngineMappingException>(() => dataObject.GetTargetValue <string>()); Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.StringStarting(Resource.GetExceptionMessage(ExceptionMessage.UnableToMapValueForField, dataObject.GetSourceValue <string>(), fieldMock.NameTarget, tableMock.NameTarget, string.Empty))); var innerException = exception.InnerException; Assert.That(innerException, Is.Not.Null); Assert.That(innerException, Is.TypeOf <DeliveryEngineMappingException>()); Assert.That(innerException.Message, Is.Not.Null); Assert.That(innerException.Message, Is.Not.Empty); fieldMock.AssertWasCalled(m => m.NameTarget); tableMock.AssertWasCalled(m => m.NameTarget); }
public void TestThatGetTargetValueForUnmappedValueThrowsDeliveryEngineSystemExceptionIfParseFails() { var fixture = new Fixture(); var tableMock = MockRepository.GenerateMock <ITable>(); tableMock.Expect(m => m.NameTarget) .Return(fixture.CreateAnonymous <string>()) .Repeat.Any(); var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.NameTarget) .Return(fixture.CreateAnonymous <string>()) .Repeat.Any(); fieldMock.Expect(m => m.Table) .Return(tableMock) .Repeat.Any(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var dataObject = new MyDataObject(fieldMock, fixture); Assert.That(dataObject, Is.Not.Null); var exception = Assert.Throws <DeliveryEngineSystemException>(() => dataObject.GetTargetValue <int?>()); Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.InnerException, Is.Not.Null); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); fieldMock.AssertWasCalled(m => m.NameTarget); tableMock.AssertWasCalled(m => m.NameTarget); }
public void TestThatGetTargetValueGetsUnmappedTargetValueWhereDatatypeOfSourceIsNotEqualToTypeOfTargetValueAndTypeOfTargetValueIsNotString() { var fieldMock = MockRepository.GenerateMock <IField>(); fieldMock.Expect(m => m.DatatypeOfSource) .Return(typeof(int)) .Repeat.Any(); fieldMock.Expect(m => m.Map) .Return(null) .Repeat.Any(); Assert.That(fieldMock, Is.Not.Null); var dataObject = new MyDataObject(fieldMock, new Fixture()); Assert.That(dataObject, Is.Not.Null); var targetValue = dataObject.GetTargetValue <decimal>(); Assert.That(targetValue, Is.GreaterThan(0M)); fieldMock.AssertWasCalled(m => m.DatatypeOfSource); fieldMock.AssertWasCalled(m => m.Map); }