1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.commons.csv.issues;
21
22 import static org.junit.jupiter.api.Assertions.assertEquals;
23 import static org.junit.jupiter.api.Assertions.assertFalse;
24 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
25 import static org.junit.jupiter.api.Assertions.assertNull;
26 import static org.junit.jupiter.api.Assertions.assertThrows;
27 import static org.junit.jupiter.api.Assertions.assertTrue;
28
29 import java.io.IOException;
30 import java.io.InputStream;
31 import java.io.ObjectInputStream;
32
33 import org.apache.commons.csv.CSVRecord;
34 import org.junit.jupiter.api.Test;
35
36 class JiraCsv248Test {
37
38 private static InputStream getTestInput() {
39 return ClassLoader.getSystemClassLoader().getResourceAsStream("org/apache/commons/csv/CSV-248/csvRecord.bin");
40 }
41
42
43
44
45
46
47
48
49
50
51
52 @Test
53 void testJiraCsv248() throws IOException, ClassNotFoundException {
54
55
56
57
58
59 try (InputStream in = getTestInput(); ObjectInputStream ois = new ObjectInputStream(in)) {
60 final Object object = ois.readObject();
61 assertInstanceOf(CSVRecord.class, object);
62 final CSVRecord rec = (CSVRecord) object;
63 assertEquals(1L, rec.getRecordNumber());
64 assertEquals("One", rec.get(0));
65 assertEquals("Two", rec.get(1));
66 assertEquals(2, rec.size());
67
68 assertEquals(4, rec.getCharacterPosition());
69 assertEquals("my comment", rec.getComment());
70
71 assertNull(rec.getParser());
72
73 assertTrue(rec.isConsistent());
74 assertFalse(rec.isMapped("A"));
75 assertFalse(rec.isSet("A"));
76 assertEquals(0, rec.toMap().size());
77
78 assertThrows(IllegalStateException.class, () -> rec.get("A"));
79 }
80 }
81 }