Exemple #1
0
        public void When_FP_is_In_Fiscal_State_And_Pass_6_Date_Arguments_With_Time_Plus_Minus_One_Hour_Should_Return_OK(int numberOfMinutesToAdd)
        {
            //Arrange

            var dateTime = DateTime.Now.AddMinutes(numberOfMinutesToAdd);

            var dateArguments = new List <string>()
            {
                dateTime.Year.ToString().Substring(2, 2),
                dateTime.Month.ToString(),
                dateTime.Day.ToString(),
                dateTime.Hour.ToString(),
                dateTime.Minute.ToString(),
                dateTime.Second.ToString()
            };

            _state.IsInFiscalState = true;

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            //Act
            _ = handler.Handle(_state);

            //Assert

            Assert.AreEqual(_state.TimeDiffrenceInMinutes, numberOfMinutesToAdd);
        }
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);
        }
Exemple #3
0
        public void When_Pass_6_Parameters_From_DateTime_Now_Should_Calculate_Right_Diff_State_Value_And_Create_Output_Commands(int numberOfMinutesToAdd, int expectedValue)
        {
            //Arrange

            var dateTime = DateTime.Now.AddMinutes(numberOfMinutesToAdd);

            var dateArguments = new List <string>()
            {
                dateTime.Year.ToString().Substring(2, 2),
                dateTime.Month.ToString(),
                dateTime.Day.ToString(),
                dateTime.Hour.ToString(),
                dateTime.Minute.ToString(),
                dateTime.Second.ToString()
            };

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            //Act
            _ = handler.Handle(_state);

            //Assert

            Assert.AreEqual(_state.TimeDiffrenceInMinutes, expectedValue);
        }
        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 #5
0
        public void When_FP_is_In_Fiscal_State_And_Pass_6_Date_Arguments_With_Time_Plus_Minus__More_Then_One_Hour_Should_Throw_FP(int numberOfMinutesToAdd)
        {
            //Arrange

            var dateTime = DateTime.Now.AddMinutes(numberOfMinutesToAdd);

            var dateArguments = new List <string>()
            {
                dateTime.Year.ToString().Substring(2, 2),
                dateTime.Month.ToString(),
                dateTime.Day.ToString(),
                dateTime.Hour.ToString(),
                dateTime.Minute.ToString(),
                dateTime.Second.ToString()
            };

            _state.IsInFiscalState = true;

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            //Act

            //Assert
            Assert.Throws <FP_IllegalOperationException>(() =>
            {
                _ = handler.Handle(_state);
            });
        }
        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]);
        }
Exemple #7
0
        public void When_Pass_Any_Parameters_Should_Throw_TaskCanceledException()
        {
            //Assert
            var command = new ThermalFiscalPrinterCommand(null, null, null, string.Empty, string.Empty);
            CANCommandHandler canCommandHandler = new CANCommandHandler(command);

            //Act
            Action handleAction = () => canCommandHandler.Handle(null);

            //Assert

            handleAction.Should().Throw <TaskCanceledException>();
        }
        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 #9
0
        public void When_Arguments_Not_Passed_Should_Throw_FP_WrongNumberOfArgumentsException()
        {
            //Arrange
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(null, null, null, null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);

            //Act
            //Assert

            Assert.Throws <FP_WrongNumberOfArgumentsException>(() =>
            {
                handler.Handle(null);
            });
        }
        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 #11
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);
            });
        }
Exemple #12
0
        public void When_Pass_6_Parameters_But_One_No_Numeric_Should_Throw_FP_BadFormatOfArgumentException()
        {
            //Arrange
            var dateArguments = Enumerable.Range(1, 5).Select(m => m.ToString()).Append("6y");

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_BadFormatOfArgumentException>(() =>
            {
                handler.Handle(_state);
            });
        }
Exemple #13
0
        public void When_Pass_Less_Then_6_Parameters_Should_Throw_FP_WrongNumberOfArgumentsException(int numberOfParameters)
        {
            //Arrange
            var dateArguments = Enumerable.Range(1, numberOfParameters).Select(m => m.ToString());

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            //Act
            //Assert
            Assert.Throws <FP_WrongNumberOfArgumentsException>(() =>
            {
                handler.Handle(_state);
            });
        }
Exemple #14
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 #15
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 #16
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 #17
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 #18
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 #19
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 #20
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 #21
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 #22
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 #23
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 #24
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 #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_Pass_Right_Command_With_Correct_Arguments_Should_Create_Correct_PrintOut()
        {
            //Arrange

            var newDateTime      = DateTime.Now.AddMinutes(5);
            var actualFPDateTime = _state.TimeDiffrenceInMinutes != int.MinValue ? DateTime.Now.AddMinutes(_state.TimeDiffrenceInMinutes) : DateTime.Now;

            var dateArguments = new List <string>()
            {
                newDateTime.Year.ToString().Substring(2, 2),
                newDateTime.Month.ToString(),
                newDateTime.Day.ToString(),
                newDateTime.Hour.ToString(),
                newDateTime.Minute.ToString(),
                newDateTime.Second.ToString()
            };

            _state.IsInFiscalState = true;

            var command = new ThermalFiscalPrinterCommand(dateArguments, "$c", null, null, null);
            var handler = new SetupClockCommandHandler(command);

            StringBuilder reciptBody = new StringBuilder();

            reciptBody.AppendLine();
            reciptBody.AppendLine("PROGRAMOWANIE ZEGARA".PadCenter(Constants.ReciptWidth));
            reciptBody.AppendLine();
            reciptBody.AppendLine($"Zegar przed zmianą:     {actualFPDateTime.ToString("yyyy-MM-dd,HH:mm")}");
            reciptBody.AppendLine($"Zegar po zmianie:       {newDateTime.ToString("yyyy-MM-dd,HH:mm")}");
            reciptBody.AppendLine();

            var expectedReciptBody = reciptBody.ToString();

            //Act
            var response = handler.Handle(_state);

            //Assert

            Assert.AreEqual(expectedReciptBody, response.OutputReciptBuffer);
        }
Exemple #27
0
        public void When_Pass_4_Ptu_Rates_Last_3_Should_Be_Inactive()
        {
            //Arrange
            FiscalPrinterState state = new FiscalPrinterState();
            var PnArgs = new List <string>()
            {
                "4"
            };
            ThermalFiscalPrinterCommand  command = new ThermalFiscalPrinterCommand(PnArgs, null, "23/7/3/100", null, null);
            ChangePTURatesCommandHandler handler = new ChangePTURatesCommandHandler(command);

            //Act
            _ = handler.Handle(state);

            //Assert
            Assert.AreEqual(23.00, state.PTURates[(int)PTU.A].ActualPercentageValue);
            Assert.AreEqual(7.00, state.PTURates[(int)PTU.B].ActualPercentageValue);
            Assert.AreEqual(3.00, state.PTURates[(int)PTU.C].ActualPercentageValue);
            Assert.AreEqual(Constants.PTUTaxFreeRate, state.PTURates[(int)PTU.D].ActualPercentageValue);
            Assert.AreEqual(Constants.PTUInactiveRate, state.PTURates[(int)PTU.E].ActualPercentageValue);
            Assert.AreEqual(Constants.PTUInactiveRate, state.PTURates[(int)PTU.F].ActualPercentageValue);
            Assert.AreEqual(Constants.PTUTaxFreeRate, state.PTURates[(int)PTU.G].ActualPercentageValue);
        }
Exemple #28
0
        public void When_Passed_Correct_Less_Then_500_Chars_And_Lines_Split_By_CR_Header_Should_Save_It_In_Fiscal_Printer_State()
        {
            //Arrange

            var reciptHeaderRows = new List <string>
            {
                $"Sample Fiscal Printer Header",
                "Lines must be split by CR",
                "Or LF Characters"
            };

            var reciptHeaderInput = reciptHeaderRows[0] + Convert.ToChar(Constants.ASCICodeCR)
                                    + reciptHeaderRows[1] + Convert.ToChar(Constants.ASCICodeLF)
                                    + reciptHeaderRows[2];

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

            //Act
            var result = commandHandler.Handle(state);

            //Assert
            Assert.IsNull(result.OutputCommand);
            Assert.AreEqual(result.OutputReciptBuffer, string.Empty);

            StringBuilder stringBuilder = new StringBuilder();

            reciptHeaderRows.ForEach(row => stringBuilder.AppendLine(row));

            var expectedReciptHeader = stringBuilder.ToString();

            Console.WriteLine(expectedReciptHeader);
            Console.WriteLine(reciptHeaderInput);

            Assert.AreEqual(expectedReciptHeader, state.FiscalPrinterHeader);
        }
Exemple #29
0
 public void SetUpMethod()
 {
     _command        = new ThermalFiscalPrinterCommand(null, null, null, null, null);
     _commandHandler = new ENQCommandHandler(_command);
 }