async void ExecFromRequires_NotNullInput() { var transformerMock = new Mock <ILazy <ITransformationManager> >(); var handler = new IntegerInputOnlyHandler(transformerMock.Object); var exception = await Assert.ThrowsAsync <ArgumentNullException>(() => handler.ExecFromAsync <double?>(null)); Assert.Equal("from", exception.ParamName); }
void RequiresITransformationManager_ToBe_Instantiated() { var transformerMock = new Mock <ILazy <ITransformationManager> >(); var handler = new IntegerInputOnlyHandler(transformerMock.Object); var exception = Assert.Throws <ArgumentNullException>(() => new IntegerInputOnlyHandler(null)); Assert.NotNull(handler); Assert.Equal("transformer", exception.ParamName); }
async void ExecFrom_DoesNotExecute_WhenInputIsAlreadyOfThe_ExpectedType() { var transformerMock = new Mock <ILazy <ITransformationManager> >(); var handler = new IntegerInputOnlyHandler(transformerMock.Object); var exception = await Assert.ThrowsAsync <BusinessLayerException>(() => handler.ExecFromAsync <string>("notnull")); Assert.Equal( "The input object is already of the expected type. You should use Exec() instead of Exec<>()", exception.Message); }
async void ExecFrom_WhenInputIsCorrectlyTransformed_ExecActionIsTriggered() { var transformerMock = new Mock <ILazy <ITransformationManager> >(); transformerMock.Setup(s => s.Value.Transform <string, Int64?>(It.IsAny <string>())) .Returns(0); var handler = new IntegerInputOnlyHandler(transformerMock.Object); var exception = await Assert.ThrowsAsync <NotImplementedException>(() => handler.ExecAsync("")); Assert.Equal("Integer passou por aqui!", exception.Message); }
async void ExecFrom_RaisesException_WhenThenTransformer_ReturnsNull() { var transformerMock = new Mock <ILazy <ITransformationManager> >(); transformerMock.Setup(s => s.Value.Transform <int, string>(It.IsAny <int>())) .Returns((string)null); var handler = new IntegerInputOnlyHandler(transformerMock.Object); var exception = await Assert.ThrowsAsync <BusinessLayerException>(() => handler.ExecFromAsync(0)); Assert.Equal("The input type cannot be transformed to the expected type properly", exception.Message); }