public void When_Passed_Read_Header_Command_Should_Return_HeaderFromState_And_Argument_1()
        {
            //Arrange
            StringBuilder fiscalPrinterHeader = new StringBuilder();

            fiscalPrinterHeader.AppendLine();
            fiscalPrinterHeader.AppendLine("Lorem ipsum dolor sit amet.");
            fiscalPrinterHeader.AppendLine("---------------------------");
            fiscalPrinterHeader.AppendLine("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque risus.");
            fiscalPrinterHeader.AppendLine("                     XX XX XX                           ");


            var command            = new ThermalFiscalPrinterCommand(null, "#u", null);
            var commandHandler     = new ReadingHeaderCommandHandler(command);
            var fiscalPrinterState = new FiscalPrinterState()
            {
                FiscalPrinterHeader = fiscalPrinterHeader.ToString()
            };

            //Act
            var result = commandHandler.Handle(fiscalPrinterState);
            //Assert

            var responseCommandString = result.OutputCommand.ToString();

            var indexOfCommandName         = responseCommandString.IndexOf("#U");
            var recivedFiscalPrinterHeader = responseCommandString.Substring(indexOfCommandName + 2, responseCommandString.Length - (indexOfCommandName + 6));

            var commandArguments = responseCommandString.Substring(0, indexOfCommandName).Substring(3).Split(';');

            Assert.AreEqual(fiscalPrinterHeader.ToString(), recivedFiscalPrinterHeader);
            Assert.AreEqual(1, commandArguments.Length);
            Assert.AreEqual("1", commandArguments[0]);
        }
Exemple #2
0
        public void When_Pass_Command_With_Right_Parameters_Shoudl_Return_Correct_Printout()
        {
            //Arrange
            var crChar           = (char)ThermalFiscalPrinterSimulatorLibraries.Constants.ASCICodeCR;
            var cashierLogin     = "******";
            var printerCode      = "993A";
            var passedParameters = $"{cashierLogin}{crChar}{printerCode}{crChar}";
            var state            = new FiscalPrinterState()
            {
                TimeDiffrenceInMinutes = 0,
                FiscalPrinterHeader    = "HEADER TEST".PadCenter(ThermalFiscalPrinterSimulatorLibraries.Constants.ReciptWidth)
            };
            var command = new ThermalFiscalPrinterCommand(null, "#p", passedParameters, string.Empty, string.Empty);
            var handler = new CashierLogoutCommandHandler(command);
            //Act

            var result       = handler.Handle(state);
            var dateToString = DateTime.Now.ToString("yyyy-MM-dd");
            var timeToString = DateTime.Now.ToString("HH-mm-ss");
            //Assert
            StringBuilder expectedPrintout = new StringBuilder();

            expectedPrintout.AppendLine("              HEADER TEST               ");
            expectedPrintout.AppendLine($"{dateToString}                             1");
            expectedPrintout.AppendLine("         N I E F I S K A L N Y          ");
            expectedPrintout.AppendLine("Zakończenie pracy kasjera");
            expectedPrintout.AppendLine($"Kasjer                            {cashierLogin}");
            expectedPrintout.AppendLine($"Numer kasy                          {printerCode}");
            expectedPrintout.AppendLine();
            expectedPrintout.AppendLine("         N I E F I S K A L N Y          ");
            expectedPrintout.AppendLine($"    #{printerCode}     {cashierLogin}            {timeToString}");
            expectedPrintout.AppendLine("                12345678                ");
            expectedPrintout.AppendLine();
            Assert.AreEqual(expectedPrintout.ToString(), result.OutputReciptBuffer);
        }
        public void When_Passed_Read_Header_Is_Null_Command_Should_Return_HeaderFromState_And_Argument_1()
        {
            //Arrange



            var command            = new ThermalFiscalPrinterCommand(null, "#u", null);
            var commandHandler     = new ReadingHeaderCommandHandler(command);
            var fiscalPrinterState = new FiscalPrinterState()
            {
                FiscalPrinterHeader = null
            };

            //Act
            var result = commandHandler.Handle(fiscalPrinterState);
            //Assert

            var responseCommandString = result.OutputCommand.ToString();

            var indexOfCommandName         = responseCommandString.IndexOf("#U");
            var recivedFiscalPrinterHeader = responseCommandString.Substring(indexOfCommandName + 2, responseCommandString.Length - (indexOfCommandName + 6));

            var commandArguments = responseCommandString.Substring(0, indexOfCommandName).Substring(3).Split(';');

            Assert.AreEqual(string.Empty, recivedFiscalPrinterHeader);
            Assert.AreEqual(1, commandArguments.Length);
            Assert.AreEqual("1", commandArguments[0]);
        }
 public void CancelReceipt()
 {
     if (UserInterfaceShowing)
     {
         _printerUserInterface.CancelReceipt();
         _state = FiscalPrinterState.Open;
     }
 }
 public void EndReceipt(string message)
 {
     if (UserInterfaceShowing && (_state == FiscalPrinterState.FiscalReceipt))
     {
         _printerUserInterface.EndReceipt(message);
         _state = FiscalPrinterState.Open;
     }
 }
 public void ManagementReportEnd()
 {
     if (UserInterfaceShowing && (_state == FiscalPrinterState.ManagementReport))
     {
         _printerUserInterface.ManagementReportEnd();
         _state = FiscalPrinterState.Open;
     }
 }
Exemple #7
0
        private static void ChangePTURatesByCommand(FiscalPrinterState fiscalPrinterState, string[] ptuParameters)
        {
            var polishCulture = CultureInfo.CreateSpecificCulture("pl-PL");

            if (ptuParameters.Length > 0)
            {
                fiscalPrinterState.PTURates[(int)PTU.A].ActualPercentageValue =
                    double.TryParse(ptuParameters[0], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 1)
            {
                fiscalPrinterState.PTURates[(int)PTU.B].ActualPercentageValue =
                    double.TryParse(ptuParameters[1], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 2)
            {
                fiscalPrinterState.PTURates[(int)PTU.C].ActualPercentageValue =
                    double.TryParse(ptuParameters[2], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 3)
            {
                fiscalPrinterState.PTURates[(int)PTU.D].ActualPercentageValue =
                    double.TryParse(ptuParameters[3], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 4)
            {
                fiscalPrinterState.PTURates[(int)PTU.E].ActualPercentageValue =
                    double.TryParse(ptuParameters[4], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 5)
            {
                fiscalPrinterState.PTURates[(int)PTU.F].ActualPercentageValue =
                    double.TryParse(ptuParameters[5], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            if (ptuParameters.Length > 6)
            {
                fiscalPrinterState.PTURates[(int)PTU.G].ActualPercentageValue =
                    double.TryParse(ptuParameters[6], NumberStyles.Number, polishCulture, out double rateValue) ?
                    rateValue :
                    Constants.PTUInactiveRate;
            }
            else
            {
                fiscalPrinterState.PTURates[(int)PTU.G].ActualPercentageValue = Constants.PTUTaxFreeRate;
            }
        }
Exemple #8
0
        private string PrintPTUValuesOnRecipt(PTU PTUType, FiscalPrinterState state)
        {
            var ptuValue = state.PTURates.First(m => m.Type == PTUType).ActualPercentageValue;

            var ptuRateString = ptuValue == Constants.PTUInactiveRate ? "---" : ptuValue == Constants.PTUTaxFreeRate ? "SP.ZW.PTU" : ptuValue.ToString("0.00", CultureInfo.CreateSpecificCulture("pl-PL")) + " %";
            var numberOfSpace = Constants.ReciptWidth - ptuRateString.Length;

            return($"PTU {PTUType.ToString()}".PadRight(numberOfSpace) + ptuRateString);
        }
 public void BeginReceipt(string customerTaxNo)
 {
     if (UserInterfaceShowing)
     {
         if (_printerUserInterface.BeginReceipt(customerTaxNo))
         {
             _state = FiscalPrinterState.FiscalReceipt;
         }
     }
 }
 public void Open(string deviceId)
 {
     if (UserInterfaceShowing)
     {
         if (_printerUserInterface.OpenPrinter())
         {
             _state = FiscalPrinterState.Open;
         }
     }
 }
        public bool ManagementReportTryBegin()
        {
            if (UserInterfaceShowing && (_state == FiscalPrinterState.Open))
            {
                if (_printerUserInterface.BeginManagementReport())
                {
                    _state = FiscalPrinterState.ManagementReport;
                }
            }

            return(_state == FiscalPrinterState.ManagementReport);
        }
        public void When_Pass_Any_Parameters_Should_Return_Empty_Object_And_Mark_Fiscal_PrinterLastCommand_As_True()
        {
            //Arrange
            var fiscalPrinterState = new FiscalPrinterState();
            var command            = new ThermalFiscalPrinterCommand(null, "BEL", null, string.Empty, string.Empty);
            var _bELCommandHandler = new BELCommandHandler(command);
            //Act
            var result = _bELCommandHandler.Handle(fiscalPrinterState);

            //Assert
            result.Should().NotBeNull();
            fiscalPrinterState.LastCommandSuccess.Should().BeTrue();
        }
Exemple #13
0
        public void When_Pass_Fiscal_Printer_State_As_Null_Should_Throws_NullReferenceException()
        {
            //Arrange
            FiscalPrinterState state = null;

            //Act

            //Assert

            Assert.Throws <System.NullReferenceException>(() =>
            {
                _commandHandler.Handle(state);
            });
        }
Exemple #14
0
        public void When_RTC_Clock_Not_Initialize_Should_Throw_Error()
        {
            //Arrange
            var state   = new FiscalPrinterState();
            var command = new ThermalFiscalPrinterCommand(null, "#p", null, string.Empty, string.Empty);
            var handler = new CashierLogoutCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_IllegalOperationException>(() =>
            {
                handler.Handle(state);
            });
        }
        public void When_Pass_Null_As_Fiscal_Printer_State_Should_Return_Empty_Object()
        {
            //Arrange
            FiscalPrinterState fiscalPrinterState = null;
            var command            = new ThermalFiscalPrinterCommand(null, "BEL", null, string.Empty, string.Empty);
            var _bELCommandHandler = new BELCommandHandler(command);

            //Act
            var result = _bELCommandHandler.Handle(null);

            //Assert
            result.Should().NotBeNull();
            fiscalPrinterState.Should().BeNull();
        }
Exemple #16
0
        public void When_Passed_Command_Without_Arguments_Should_Throw_Exception()
        {
            //Arrange
            var fiscalPrinterState = new FiscalPrinterState();
            var command            = new ThermalFiscalPrinterCommand(new List <string> {
            }, "$d", string.Empty);
            var commandHandler     = new SendLineToClientDisplayCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_WrongNumberOfArgumentsException>(() =>
            {
                commandHandler.Handle(fiscalPrinterState);
            });
        }
Exemple #17
0
        public void When_Passed_Command_With_Bad_First_Argument_Should_Throw_Exception(int firstCommandArgument)
        {
            //Arrange
            var fiscalPrinterState = new FiscalPrinterState();
            var command            = new ThermalFiscalPrinterCommand(new List <string> {
                firstCommandArgument.ToString()
            }, "$d", string.Empty);
            var commandHandler = new SendLineToClientDisplayCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_BadFormatOfArgumentException>(() =>
            {
                commandHandler.Handle(fiscalPrinterState);
            });
        }
Exemple #18
0
        public void When_Passed_Command_With_Parameter_101_Or_102_But_Text_To_Display_Has_Over_20_Characters_Then_Should_Throw_Error(int firstCommandArgument)
        {
            //Arrange
            var passedTooLongText  = "".PadRight(21, 'x');
            var fiscalPrinterState = new FiscalPrinterState();
            var command            = new ThermalFiscalPrinterCommand(new List <string> {
                firstCommandArgument.ToString()
            }, "$d", passedTooLongText);
            var commandHandler = new SendLineToClientDisplayCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_BadFormatOfArgumentException>(() =>
            {
                commandHandler.Handle(fiscalPrinterState);
            });
        }
Exemple #19
0
        public void When_Passed_Header_Has_More_Then_500_Characters_Should_Throw_FP_Illegal_Exception()
        {
            //Arrange
            var reciptHeader = string.Join("", Enumerable.Repeat("A", 501));

            var state          = new FiscalPrinterState();
            var command        = new ThermalFiscalPrinterCommand(null, null, reciptHeader + "?");
            var commandHandler = new SetupReciptHeaderCommandHandler(command);

            //Act
            //Assert

            Assert.Throws <FP_IllegalOperationException>(() =>
            {
                commandHandler.Handle(state);
            });
        }
Exemple #20
0
        public void When_Pass_Command_Without_Parameters_Should_Throw_Error()
        {
            //Arrange
            var state = new FiscalPrinterState()
            {
                TimeDiffrenceInMinutes = 0
            };
            var command = new ThermalFiscalPrinterCommand(null, "#p", string.Empty, string.Empty, string.Empty);
            var handler = new CashierLogoutCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_WrongNumberOfArgumentsException>(() =>
            {
                handler.Handle(state);
            });
        }
Exemple #21
0
        public void When_Is_In_Transaction_State_Should_Throw_Error()
        {
            //Arrange
            var state = new FiscalPrinterState()
            {
                TimeDiffrenceInMinutes = 0, IsInTransactionState = true
            };
            var command = new ThermalFiscalPrinterCommand(null, "#p", null, string.Empty, string.Empty);
            var handler = new CashierLogoutCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_IllegalOperationException>(() =>
            {
                handler.Handle(state);
            });
        }
Exemple #22
0
        public void When_First_Argument_Is_Not_Numeric_Should_Throw_FP_BadFormatOfArgumentException()
        {
            //Arrange
            FiscalPrinterState state = new FiscalPrinterState();
            var PnArgs = new List <string>()
            {
                "d3"
            };
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(PnArgs, null, null, null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);

            //Act
            //Assert

            Assert.Throws <FP_BadFormatOfArgumentException>(() =>
            {
                handler.Handle(null);
            });
        }
Exemple #23
0
        public void When_First_Argument_Is_More_Then_7_Should_Throw_FP_IllegalOperationException()
        {
            //Arrange
            FiscalPrinterState state = new FiscalPrinterState();
            var PnArgs = new List <string>()
            {
                "8"
            };
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(PnArgs, null, null, null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);

            //Act
            //Assert

            Assert.Throws <FP_IllegalOperationException>(() =>
            {
                handler.Handle(state);
            });
        }
Exemple #24
0
        public void When_Pass_6_Right_Parameters_Should_Return_Correct()
        {
            //Arrange
            FiscalPrinterState state = new FiscalPrinterState();
            var PnArgs = new List <string>()
            {
                "5"
            };
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(PnArgs, null, "23/7/6/4,5/2", null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);
            //Act
            var result = handler.Handle(state);

            //Assert
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("N I E F I S K A L N Y".PadCenter(Constants.ReciptWidth));
            stringBuilder.AppendLine("Z m i a n a  s t a w e k  P T U".PadCenter(Constants.ReciptWidth));
            stringBuilder.AppendLine("Stare PTU:".PadRight(Constants.ReciptWidth));
            stringBuilder.AppendLine("PTU A".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU B".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU C".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU D".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU E".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU F".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU G".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("---------------------------------------------------------------".Substring(0, Constants.ReciptWidth));
            stringBuilder.AppendLine("Nowe PTU:".PadRight(Constants.ReciptWidth));
            stringBuilder.AppendLine("PTU A".PadRight(Constants.ReciptWidth - 7) + "23,00 %");
            stringBuilder.AppendLine("PTU B".PadRight(Constants.ReciptWidth - 6) + "7,00 %");
            stringBuilder.AppendLine("PTU C".PadRight(Constants.ReciptWidth - 6) + "6,00 %");
            stringBuilder.AppendLine("PTU D".PadRight(Constants.ReciptWidth - 6) + "4,50 %");
            stringBuilder.AppendLine("PTU E".PadRight(Constants.ReciptWidth - 6) + "2,00 %");
            stringBuilder.AppendLine("PTU F".PadRight(Constants.ReciptWidth - 3) + "---");
            stringBuilder.AppendLine("PTU G".PadRight(Constants.ReciptWidth - 9) + "SP.ZW.PTU");
            stringBuilder.AppendLine("N I E F I S K A L N Y".PadCenter(Constants.ReciptWidth));

            System.Console.WriteLine(result.OutputReciptBuffer);
            System.Console.WriteLine(stringBuilder.ToString());
            Assert.AreEqual(stringBuilder.ToString(), result.OutputReciptBuffer);
        }
Exemple #25
0
        public void When_Passed_Command_With_Argument_102_And_Paramer_Has_Less_Then_20_Characters_Should_Return_Correct_Output_Line_Display_Result()
        {
            //Arrange
            var passedParameterText = "".PadRight(20, 'x');
            var expectedResult      = new ClientLineDisplayOutput()
            {
                LineNumber = 1, OutputText = passedParameterText
            };
            var fiscalPrinterState = new FiscalPrinterState();
            var command            = new ThermalFiscalPrinterCommand(new List <string> {
                "102"
            }, "$d", passedParameterText);
            var commandHandler = new SendLineToClientDisplayCommandHandler(command);
            //Act
            var result = commandHandler.Handle(fiscalPrinterState);

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult.LineNumber, result.ClientLineDisplayOutputLine.LineNumber);
            Assert.AreEqual(expectedResult.OutputText, result.ClientLineDisplayOutputLine.OutputText);
        }
Exemple #26
0
        public void When_First_Argument_Not_Equals_All_Argument_Count_Without_First_Should_Throw_()
        {
            //Arrange
            FiscalPrinterState state = new FiscalPrinterState();

            System.Console.WriteLine(state.PTURates[(int)PTU.A]);
            var PnArgs = new List <string>()
            {
                "3"
            };
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(PnArgs, null, "3/4", null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);

            //Act
            //Assert

            Assert.Throws <FP_WrongNumberOfArgumentsException>(() =>
            {
                handler.Handle(state);
            });
        }
Exemple #27
0
        public void When_Pass_Printer_Code_With_More_Then_8_Characters_Should_Throw_Error()
        {
            //Arrange
            var crChar           = (char)ThermalFiscalPrinterSimulatorLibraries.Constants.ASCICodeCR;
            var cashierLogin     = "******";
            var printerCode      = "as3".PadRight(9);
            var passedParameters = $"{cashierLogin}{crChar}{printerCode}{crChar}";
            var state            = new FiscalPrinterState()
            {
                TimeDiffrenceInMinutes = 0
            };
            var command = new ThermalFiscalPrinterCommand(null, "#p", passedParameters, string.Empty, string.Empty);
            var handler = new CashierLogoutCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_BadFormatOfArgumentException>(() =>
            {
                handler.Handle(state);
            });
        }
Exemple #28
0
        public void When_Pass_Fiscal_Printer_State_Should_Return_OutputCommand_With_One_Byte_Result(bool isInOnlineMode, bool IsInOutOfPaperMode, bool isInInternalErrorMode, byte expectedResult)
        {
            //Arrange
            var state = new FiscalPrinterState()
            {
                IsInOnlineMode         = isInOnlineMode,
                IsInOutOfPaperState    = IsInOutOfPaperMode,
                IsInInternalErrorState = isInInternalErrorMode
            };
            //Act
            var result = _commandHandler.Handle(state);

            //Assert

            var expected = new List <byte> {
                expectedResult
            };

            Assert.IsNotNull(result.OutputCommand);
            Assert.AreEqual(result.OutputReciptBuffer, string.Empty);
            Assert.AreEqual(expected, result.OutputCommand.ToBytesArray());
        }
Exemple #29
0
        private CommandHandlerResponse CancelTransactionHandle(FiscalPrinterState fiscalPrinterState)
        {
            fiscalPrinterState.IsInTransactionState = false;

            if (!fiscalPrinterState.SlipLines.Any())
            {
                return(new CommandHandlerResponse());
            }


            StringBuilder cancelReceiptBuilder = new StringBuilder();

            cancelReceiptBuilder.AppendLine("A N U L O W A N Y".PadCenter(Constants.ReciptWidth));
            var commandParameters = command.Parameters.Split((char)Constants.ASCICodeCR).Where(m => !string.IsNullOrWhiteSpace(m)).ToArray();

            var printerNo        = "";
            var cashierLogin     = "";
            var actualTime       = DateTime.Now.AddMinutes(fiscalPrinterState.TimeDiffrenceInMinutes).ToString("HH:mm");
            var specialNumberRow = "";

            if (commandParameters.Length == 1)
            {
                specialNumberRow = commandParameters[0].PadCenter(Constants.ReciptWidth);
            }
            else if (commandParameters.Length > 0)
            {
                printerNo        = commandParameters[0];
                cashierLogin     = commandParameters.Length > 1 ? commandParameters[1] : "";
                specialNumberRow = commandParameters.Length == 3 ? commandParameters[2].PadCenter(Constants.ReciptWidth) : "";

                cancelReceiptBuilder.AppendLine($"   #{printerNo}     {cashierLogin}".PadRight(Constants.ReciptWidth - actualTime.Length) + actualTime);
            }
            if (!string.IsNullOrWhiteSpace(specialNumberRow))
            {
                cancelReceiptBuilder.AppendLine(specialNumberRow);
            }

            return(new CommandHandlerResponse(cancelReceiptBuilder.ToString()));
        }
Exemple #30
0
        public void When_Pass_Fiscal_Printer_State_Should_Return_OutputCommand_With_One_Byte_Result(bool isInFiscalState, bool lastCommandSuccess, bool isInTransactionState, bool lastTransactionSuccess, byte expectedResult)
        {
            //Arrange
            var state = new FiscalPrinterState()
            {
                IsInFiscalState        = isInFiscalState,
                LastCommandSuccess     = lastCommandSuccess,
                IsInTransactionState   = isInTransactionState,
                LastTransactionSuccess = lastTransactionSuccess
            };
            //Act
            var result = _commandHandler.Handle(state);

            //Assert

            var expected = new List <byte> {
                expectedResult
            };

            Assert.IsNotNull(result.OutputCommand);
            Assert.AreEqual(result.OutputReciptBuffer, string.Empty);
            Assert.AreEqual(expected, result.OutputCommand.ToBytesArray());
        }