Example #1
0
        public ExtractBarCodeResponse Execute(ExtractBarCodeRequest inputData)
        {
            var textFromQrCode = _barCodes.With_Image(inputData.Image)
                                 .Of_Type_QR_Code(inputData.CheckSumEnabled)
                                 .As_Png()
                                 .Extract_Text();

            var result = new ExtractBarCodeResponse {
                Text = textFromQrCode
            };

            return(result);
        }
        public void Execute_GivenImageAndCheckSum_ShouldExtractAndReturnATextFromQrCode()
        {
            //Arrange
            var qrCodePath = AppDomain.CurrentDomain.BaseDirectory + "TestData\\barcode3.png";
            var inputData  = new ExtractBarCodeRequest
            {
                Image           = File.ReadAllBytes(qrCodePath),
                CheckSumEnabled = true
            };

            var barCode = Substitute.For <IBarCodes>();
            var sut     = new ExtractBarCodeUseCase(barCode);

            //Act
            var actual = sut.Execute(inputData);

            //Assert
            barCode.Received().With_Image(Arg.Any <byte[]>())
            .Of_Type_QR_Code(Arg.Any <bool>())
            .As_Png().Extract_Text();
        }