public void It_parses_integers()
 {
     Assert.Equal(1234m, DecimalParser.ParseOrNull("1234"));
     Assert.Equal(0m, DecimalParser.ParseOrNull("0"));
     Assert.Equal(0, DecimalParser.ParseOrNull("             0", returnNullIfZero: false));
     Assert.Equal(0, DecimalParser.ParseOrNull("             0"));
 }
 public void It_parses_decimals()
 {
     Assert.Equal(37.3m, DecimalParser.ParseOrNull("37,3"));
     Assert.Equal(37.3m, DecimalParser.ParseOrNull("37.3"));
     Assert.Equal(0.12345678910m, DecimalParser.ParseOrNull("0.12345678910"));
     Assert.Equal(37.0m, DecimalParser.ParseOrNull("00000037.00000000"));
     Assert.Equal(-37.0m, DecimalParser.ParseOrNull("-00000037.00000000"));
     Assert.Equal(-37.0m, DecimalParser.ParseOrNull("-00000037,00000000"));
 }
 public void It_returns_null_if_parsing_empty_or_whitespace_or_invalid_string()
 {
     Assert.Null(DecimalParser.ParseOrNull(string.Empty));
     Assert.Null(DecimalParser.ParseOrNull(" "));
     Assert.Null(DecimalParser.ParseOrNull("\t\n    "));
     Assert.Null(DecimalParser.ParseOrNull(null));
     Assert.Null(DecimalParser.ParseOrNull("abc"));
     Assert.Null(DecimalParser.ParseOrNull("             0", returnNullIfZero: true));
     Assert.Null(DecimalParser.ParseOrNull("0.0000000000", returnNullIfZero: true));
     Assert.Null(DecimalParser.ParseOrNull("             0x"));
 }
Beispiel #4
0
        private void GenerateInvoicesBtn_Click(object sender, RoutedEventArgs e)
        {
            var validator = new InputValidator();

            if (validator.IsValidInput(selectFileValue.Text, sheetValue.Text,
                                       rowValue.Text, selectDestinationValue.Text,
                                       companyNameValue.Text) == false)
            {
                return;
            }


            string readPath     = selectFileValue.Text;
            int    sheet        = int.Parse(sheetValue.Text);
            int    row          = int.Parse(rowValue.Text);
            string savePathDir  = selectDestinationValue.Text;
            string fullSavePath = $"{savePathDir}\\{fileNameTemplate}";
            string company      = companyNameValue.Text;

            IInvoiceParser invParser  = new InvoiceParser(separator);
            IDecimalParser primParser = new DecimalParser();
            IDateParser    dateParser = new DateParser();
            IReader        reader     = new ExcelReader(readPath, sheet, row, separator);
            IDocWriter     writer     = new DocWriter();

            try
            {
                var engine = new Engine(invParser, primParser, dateParser, reader, writer, docTemplatePath, fullSavePath, company);
                engine.Start();
                MessageBox.Show("Invoices created successfully.");
                this.ResetForm();
            }
            catch (ArgumentNullException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (ArgumentOutOfRangeException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (FileNotFoundException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 public void ValidDecimal_returnsDecimal()
 {
     Assert.AreEqual(100.2m, DecimalParser.Parse("100.2"));
 }
 public void ValidIntValue_returnsDecimal()
 {
     Assert.AreEqual(100m, DecimalParser.Parse("100"));
 }