public virtual void test_of_simple_no_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), false))
     {
         assertEquals(csvFile.headers().size(), 0);
         assertEquals(csvFile.hasNext(), true);
         assertEquals(csvFile.hasNext(), true);
         CsvRow peeked = csvFile.peek();
         CsvRow row0   = csvFile.next();
         assertEquals(row0, peeked);
         assertEquals(row0.headers().size(), 0);
         assertEquals(row0.lineNumber(), 1);
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "h1");
         assertEquals(row0.field(1), "h2");
         CsvRow row1 = csvFile.next();
         assertEquals(row1.headers().size(), 0);
         assertEquals(row1.lineNumber(), 2);
         assertEquals(row1.fieldCount(), 2);
         assertEquals(row1.field(0), "r11");
         assertEquals(row1.field(1), "r12");
         CsvRow row2 = csvFile.next();
         assertEquals(row2.headers().size(), 0);
         assertEquals(row2.lineNumber(), 3);
         assertEquals(row2.fieldCount(), 2);
         assertEquals(row2.field(0), "r21");
         assertEquals(row2.field(1), "r22");
         assertEquals(csvFile.hasNext(), false);
         assertThrows(() => csvFile.peek(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.peek(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.remove(), typeof(System.NotSupportedException));
     }
 }
        public virtual void test_of_simple_no_header_tabs()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV1T), false, '\t');

            assertEquals(csvFile.headers().size(), 0);
            assertEquals(csvFile.containsHeader("Foo"), false);
            assertEquals(csvFile.containsHeader(Pattern.compile("Foo")), false);
            assertEquals(csvFile.rowCount(), 3);
            assertEquals(csvFile.row(0).lineNumber(), 1);
            assertEquals(csvFile.row(1).lineNumber(), 2);
            assertEquals(csvFile.row(2).lineNumber(), 3);

            assertEquals(csvFile.row(0).headers().size(), 0);
            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "h1");
            assertEquals(csvFile.row(0).field(1), "h2");
            assertEquals(csvFile.row(1).headers().size(), 0);
            assertEquals(csvFile.row(1).fieldCount(), 2);
            assertEquals(csvFile.row(1).field(0), "r11");
            assertEquals(csvFile.row(1).field(1), "r12");
            assertEquals(csvFile.row(2).headers().size(), 0);
            assertEquals(csvFile.row(2).fieldCount(), 2);
            assertEquals(csvFile.row(2).field(0), "r21");
            assertEquals(csvFile.row(2).field(1), "r22");
        }
        //-------------------------------------------------------------------------
        public virtual void test_equalsHashCodeToString()
        {
            CsvFile a1 = CsvFile.of(CharSource.wrap(CSV1), true);
            CsvFile a2 = CsvFile.of(CharSource.wrap(CSV1), true);
            CsvFile b  = CsvFile.of(CharSource.wrap(CSV2), true);
            CsvFile c  = CsvFile.of(CharSource.wrap(CSV3), false);

            // file
            assertEquals(a1.Equals(a1), true);
            assertEquals(a1.Equals(a2), true);
            assertEquals(a1.Equals(b), false);
            assertEquals(a1.Equals(c), false);
            assertEquals(a1.Equals(null), false);
            assertEquals(a1.Equals(ANOTHER_TYPE), false);
            assertEquals(a1.GetHashCode(), a2.GetHashCode());
            assertNotNull(a1.ToString());
            // row
            assertEquals(a1.row(0).Equals(a1.row(0)), true);
            assertEquals(a1.row(0).Equals(a2.row(0)), true);
            assertEquals(a1.row(0).Equals(b.row(0)), false);
            assertEquals(c.row(0).Equals(c.row(1)), false);
            assertEquals(a1.row(0).Equals(ANOTHER_TYPE), false);
            assertEquals(a1.row(0).Equals(null), false);
            assertEquals(a1.row(0).GetHashCode(), a2.row(0).GetHashCode());
            assertNotNull(a1.row(0).ToString());
        }
 public virtual void test_nextBatch2()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), true))
     {
         ImmutableList <string> headers = csvFile.headers();
         assertEquals(headers.size(), 2);
         assertEquals(headers.get(0), "h1");
         assertEquals(headers.get(1), "h2");
         IList <CsvRow> a = csvFile.nextBatch(3);
         assertEquals(a.Count, 2);
         CsvRow row0 = a[0];
         assertEquals(row0.headers(), headers);
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "r11");
         assertEquals(row0.field(1), "r12");
         CsvRow row1 = a[1];
         assertEquals(row1.headers(), headers);
         assertEquals(row1.fieldCount(), 2);
         assertEquals(row1.field(0), "r21");
         assertEquals(row1.field(1), "r22");
         IList <CsvRow> d = csvFile.nextBatch(2);
         assertEquals(d.Count, 0);
         assertEquals(csvFile.hasNext(), false);
         assertEquals(csvFile.hasNext(), false);
     }
 }
 public virtual void test_asStream_simple_no_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), false))
     {
         assertEquals(csvFile.headers().size(), 0);
         IList <CsvRow> rows = csvFile.asStream().collect(toList());
         assertEquals(csvFile.hasNext(), false);
         assertEquals(rows.Count, 3);
         CsvRow row0 = rows[0];
         assertEquals(row0.headers().size(), 0);
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "h1");
         assertEquals(row0.field(1), "h2");
         CsvRow row1 = rows[1];
         assertEquals(row1.headers().size(), 0);
         assertEquals(row1.fieldCount(), 2);
         assertEquals(row1.field(0), "r11");
         assertEquals(row1.field(1), "r12");
         CsvRow row2 = rows[2];
         assertEquals(row2.headers().size(), 0);
         assertEquals(row2.fieldCount(), 2);
         assertEquals(row2.field(0), "r21");
         assertEquals(row2.field(1), "r22");
     }
 }
 public virtual void test_of_quoting_mismatched()
 {
     assertThrowsIllegalArg(() => CsvFile.of(CharSource.wrap("\"alpha"), false), "Mismatched quotes in CSV on line 1");
     assertThrowsIllegalArg(() => CsvFile.of(CharSource.wrap("\"al\"pha"), false));
     assertThrowsIllegalArg(() => CsvFile.of(CharSource.wrap("\"al\"\"pha"), false));
     assertThrowsIllegalArg(() => CsvFile.of(CharSource.wrap("\"al,pha"), false));
 }
 public virtual void test_of_simple_with_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV1), true))
     {
         ImmutableList <string> headers = csvFile.headers();
         assertEquals(headers.size(), 2);
         assertEquals(csvFile.containsHeader("h1"), true);
         assertEquals(csvFile.containsHeader("h2"), true);
         assertEquals(csvFile.containsHeader("a"), false);
         assertEquals(csvFile.containsHeader(Pattern.compile("h.")), true);
         assertEquals(csvFile.containsHeader(Pattern.compile("a")), false);
         assertEquals(headers.get(0), "h1");
         assertEquals(headers.get(1), "h2");
         CsvRow peeked = csvFile.peek();
         CsvRow row0   = csvFile.next();
         assertEquals(row0, peeked);
         assertEquals(row0.headers(), headers);
         assertEquals(row0.lineNumber(), 2);
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "r11");
         assertEquals(row0.field(1), "r12");
         CsvRow row1 = csvFile.next();
         assertEquals(row1.headers(), headers);
         assertEquals(row1.lineNumber(), 3);
         assertEquals(row1.fieldCount(), 2);
         assertEquals(row1.field(0), "r21");
         assertEquals(row1.field(1), "r22");
         assertEquals(csvFile.hasNext(), false);
         assertThrows(() => csvFile.peek(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.peek(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.remove(), typeof(System.NotSupportedException));
     }
 }
 //-------------------------------------------------------------------------
 public virtual void test_toString()
 {
     using (CsvIterator test = CsvIterator.of(CharSource.wrap(CSV1), true))
     {
         assertNotNull(test.ToString());
     }
 }
        public virtual void test_of_simple_with_header_access_by_invalid_field()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV1), true);

            assertEquals(csvFile.row(0).findField("h3"), null);
            assertThrowsIllegalArg(() => csvFile.row(0).getField("h3"));
        }
 //-------------------------------------------------------------------------
 public virtual void test_asStream_empty_no_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(""), false))
     {
         assertEquals(csvFile.asStream().collect(toList()).size(), 0);
     }
 }
Exemplo n.º 11
0
        public virtual void test_of_empty_no_header()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(""), false);

            assertEquals(csvFile.headers().size(), 0);
            assertEquals(csvFile.rowCount(), 0);
            assertEquals(csvFile.containsHeader("Foo"), false);
            assertEquals(csvFile.containsHeader(Pattern.compile("Foo")), false);
        }
        public void test_parse_list_badDayMonthTenor()
        {
            CharSource source = CharSource.wrap("Reference,Sensitivity Tenor,Zero Rate Delta\n" + "GBP-LIBOR,P2M1D,1.0");
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Failures.get(0).Reason, FailureReason.PARSING);
            assertEquals(test.Failures.get(0).Message, "CSV file could not be parsed at line 2: Invalid tenor, cannot mix years/months and days: 2M1D");
        }
        public void test_parse_list_unableToGetCurrency()
        {
            CharSource source = CharSource.wrap("Reference,Sensitivity Tenor,Zero Rate Delta\n" + "X,1D,1.0");
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Unable to parse currency from reference, " + "consider adding a 'Currency' column");
        }
        public void test_parse_grid_neitherTenorNorDate()
        {
            CharSource source = CharSource.wrap("Sensitivity Type,Sensitivity Tenor,Sensitivity Date,GBP\n" + "ZeroRateGamma,,,1\n");

            assertEquals(LOADER_DATE.isKnownFormat(source), true);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER_DATE.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Unable to parse tenor or date, " + "check 'Sensitivity Tenor' and 'Sensitivity Date' columns");
        }
        public void test_parse_grid_missingColumns()
        {
            CharSource source = CharSource.wrap("GBP\n" + "1");

            assertEquals(LOADER.isKnownFormat(source), false);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed as sensitivities, invalid format");
        }
Exemplo n.º 16
0
        public virtual void test_of_headerComment()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV7), true);

            assertEquals(csvFile.rowCount(), 1);
            assertEquals(csvFile.row(0).lineNumber(), 3);

            assertEquals(csvFile.headers().size(), 2);
            assertEquals(csvFile.headers().get(0), "h1");
            assertEquals(csvFile.headers().get(1), "h2");
            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "r1");
            assertEquals(csvFile.row(0).field(1), "r2");
        }
        public void test_parse_grid_dateButTenorRequired()
        {
            CharSource source = CharSource.wrap("Sensitivity Type,Sensitivity Tenor,Sensitivity Date,GBP\n" + "ZeroRateGamma,,2018-06-30,1\n");

            assertEquals(LOADER.isKnownFormat(source), true);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Missing value for 'Sensitivity Tenor' column");
        }
        //-------------------------------------------------------------------------
        public void test_parse_list_allRowsBadNoEmptySensitvityCreated()
        {
            CharSource source = CharSource.wrap("Reference,Sensitivity Tenor,ZeroRateDelta\n" + "GBP,XX,1\n");

            assertEquals(LOADER_DATE.isKnownFormat(source), true);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER_DATE.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Invalid tenor 'XX', must be expressed as nD, nW, nM or nY");
        }
        public void test_parse_standard_dateInTenorColumn()
        {
            CharSource source = CharSource.wrap("Reference,Sensitivity Type,Sensitivity Tenor,Value\n" + "GBP,ZeroRateGamma,2018-06-30,1\n");

            assertEquals(LOADER_DATE.isKnownFormat(source), true);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER_DATE.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Invalid tenor '2018-06-30', must be expressed as nD, nW, nM or nY");
        }
        public void test_parse_grid_badTenorWithValidDateColumn()
        {
            CharSource source = CharSource.wrap("Sensitivity Type,Sensitivity Tenor,Sensitivity Date,GBP\n" + "ZeroRateGamma,XXX,2018-06-30,1\n");

            assertEquals(LOADER.isKnownFormat(source), true);
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 1);
            assertEquals(test.Value.size(), 0);
            FailureItem failure0 = test.Failures.get(0);

            assertEquals(failure0.Reason, FailureReason.PARSING);
            assertEquals(failure0.Message, "CSV file could not be parsed at line 2: Invalid tenor 'XXX', must be expressed as nD, nW, nM or nY");
        }
 public virtual void test_of_empty_no_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(""), false))
     {
         assertEquals(csvFile.headers().size(), 0);
         assertEquals(csvFile.containsHeader("a"), false);
         assertEquals(csvFile.hasNext(), false);
         assertEquals(csvFile.hasNext(), false);
         assertThrows(() => csvFile.peek(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.next(), typeof(NoSuchElementException));
         assertThrows(() => csvFile.remove(), typeof(System.NotSupportedException));
     }
 }
Exemplo n.º 22
0
        public virtual void test_of_blank_row()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV3), false);

            assertEquals(csvFile.rowCount(), 2);
            assertEquals(csvFile.row(0).lineNumber(), 1);
            assertEquals(csvFile.row(1).lineNumber(), 3);

            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "r11");
            assertEquals(csvFile.row(0).field(1), "r12");
            assertEquals(csvFile.row(1).fieldCount(), 2);
            assertEquals(csvFile.row(1).field(0), "r21");
            assertEquals(csvFile.row(1).field(1), "r22");
        }
 public virtual void test_of_headerComment()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV4), true))
     {
         assertEquals(csvFile.hasNext(), true);
         CsvRow row0 = csvFile.next();
         assertEquals(row0.lineNumber(), 3);
         assertEquals(csvFile.headers().size(), 2);
         assertEquals(csvFile.headers().get(0), "h1");
         assertEquals(csvFile.headers().get(1), "h2");
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "r1");
         assertEquals(row0.field(1), "r2");
     }
 }
Exemplo n.º 24
0
        public virtual void test_of_quotingWithEquals()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV4B), false);

            assertEquals(csvFile.rowCount(), 3);
            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "alpha");
            assertEquals(csvFile.row(0).field(1), "be, \"at\", one");
            assertEquals(csvFile.row(1).fieldCount(), 2);
            assertEquals(csvFile.row(1).field(0), "alpha\",\"be\"");
            assertEquals(csvFile.row(1).field(1), "\"at\", one");
            assertEquals(csvFile.row(2).fieldCount(), 2);
            assertEquals(csvFile.row(2).field(0), "r21");
            assertEquals(csvFile.row(2).field(1), " r22 ");
        }
Exemplo n.º 25
0
        public virtual void test_of_comment_blank_no_header()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV2), false);

            assertEquals(csvFile.headers().size(), 0);
            assertEquals(csvFile.rowCount(), 2);
            assertEquals(csvFile.row(0).lineNumber(), 1);
            assertEquals(csvFile.row(1).lineNumber(), 5);

            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "h1");
            assertEquals(csvFile.row(0).field(1), "h2");
            assertEquals(csvFile.row(1).fieldCount(), 2);
            assertEquals(csvFile.row(1).field(0), "r21");
            assertEquals(csvFile.row(1).field(1), "r22");
        }
        public void test_parse_list_duplicateTenor()
        {
            CharSource source = CharSource.wrap("Reference,Sensitivity Tenor,Zero Rate Delta\n" + "GBP,P1D,1\n" + "GBP,P1M,2\n" + "GBP,P1M,3\n");
            ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source));

            assertEquals(test.Failures.size(), 0, test.Failures.ToString());
            assertEquals(test.Value.size(), 1);
            IList <CurveSensitivities> list = test.Value.get("");

            assertEquals(list.Count, 1);

            CurveSensitivities csens0 = list[0];

            assertEquals(csens0.TypedSensitivities.size(), 1);
            assertSens(csens0, ZERO_RATE_DELTA, "GBP", GBP, "1D, 1M", 1, 5);
        }
Exemplo n.º 27
0
        public virtual void test_of_duplicate_headers()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV5), true);

            assertEquals(csvFile.headers(), ImmutableList.of("a", "b", "c", "b", "c"));
            assertEquals(csvFile.containsHeader("Foo"), false);
            assertEquals(csvFile.containsHeader("a"), true);
            assertEquals(csvFile.row(0).getField("a"), "aa");
            assertEquals(csvFile.row(0).getField("b"), "b1");
            assertEquals(csvFile.row(0).getField("c"), "c1");

            assertEquals(csvFile.row(0).subRow(1, 3).getField("b"), "b1");
            assertEquals(csvFile.row(0).subRow(1, 3).getField("c"), "c1");
            assertEquals(csvFile.row(0).subRow(3).getField("b"), "b2");
            assertEquals(csvFile.row(0).subRow(3).getField("c"), "c2");
        }
 public virtual void test_of_blank_row()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV3), false))
     {
         assertEquals(csvFile.hasNext(), true);
         CsvRow row0 = csvFile.next();
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "r11");
         assertEquals(row0.field(1), "r12");
         CsvRow row1 = csvFile.next();
         assertEquals(row1.fieldCount(), 2);
         assertEquals(row1.field(0), "r21");
         assertEquals(row1.field(1), "r22");
         assertEquals(csvFile.hasNext(), false);
     }
 }
 public virtual void test_of_comment_blank_with_header()
 {
     using (CsvIterator csvFile = CsvIterator.of(CharSource.wrap(CSV2), true))
     {
         ImmutableList <string> headers = csvFile.headers();
         assertEquals(headers.size(), 2);
         assertEquals(headers.get(0), "h1");
         assertEquals(headers.get(1), "h2");
         assertEquals(csvFile.hasNext(), true);
         CsvRow row0 = csvFile.next();
         assertEquals(row0.lineNumber(), 5);
         assertEquals(row0.fieldCount(), 2);
         assertEquals(row0.field(0), "r21");
         assertEquals(row0.field(1), "r22");
         assertEquals(csvFile.hasNext(), false);
     }
 }
Exemplo n.º 30
0
        public virtual void test_of_comment_blank_with_header()
        {
            CsvFile csvFile = CsvFile.of(CharSource.wrap(CSV2), true);
            ImmutableList <string> headers = csvFile.headers();

            assertEquals(headers.size(), 2);
            assertEquals(headers.get(0), "h1");
            assertEquals(headers.get(1), "h2");
            assertEquals(csvFile.rows().size(), 1);
            assertEquals(csvFile.rowCount(), 1);
            assertEquals(csvFile.row(0).lineNumber(), 5);

            assertEquals(csvFile.row(0).fieldCount(), 2);
            assertEquals(csvFile.row(0).field(0), "r21");
            assertEquals(csvFile.row(0).field(1), "r22");
            assertEquals(csvFile.rows().get(0), csvFile.row(0));
        }