Skip to content

Commit 765f7fb

Browse files
committed
add: Testcase
1 parent 5afd687 commit 765f7fb

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/test/java/com/github/shyiko/mysql/binlog/event/deserialization/TableMapEventMetadataDeserializerTest.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
import java.io.IOException;
88
import java.util.Arrays;
9+
import java.util.BitSet;
910
import java.util.LinkedHashMap;
11+
import java.util.List;
1012
import java.util.Map;
1113

1214
import static org.testng.Assert.assertEquals;
@@ -27,18 +29,26 @@ public class TableMapEventMetadataDeserializerTest {
2729
*/
2830
@Test
2931
public void deserialize() throws IOException {
30-
byte[] metadataIncludingUnknownFieldType = {1, 2, 0, -128, 2, 9, 83, 6, 63, 7, 63, 8, 63, 9, 63};
32+
byte[] metadataIncludingUnknownFieldType = {1, 2, -1, 2, 9, 83, 6, 63, 7, 63, 8, 63, 9, 63};
3133
TableMapEventMetadataDeserializer deserializer = new TableMapEventMetadataDeserializer();
34+
// suppose there Columns idx likes
35+
// col 0, 2, 4, 6, 7, 9, 11, 13 unsigned
36+
// col 1 ,3 ..., 22 signed or non numeric
37+
List<Integer> numericIndexWithAllColumn = Arrays.asList(0, 2, 4, 6, 7, 9, 11, 13);
3238
TableMapEventMetadata tableMapEventMetadata =
33-
deserializer.deserialize(new ByteArrayInputStream(metadataIncludingUnknownFieldType), 23, 8, Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7)); // suppose there numeric Columns Idx are 0, 1, 2, 3, 4, 5, 6, 7
39+
deserializer.deserialize(new ByteArrayInputStream(metadataIncludingUnknownFieldType), 23, 8, numericIndexWithAllColumn);
3440

3541
Map<Integer, Integer> expectedCharsetCollations = new LinkedHashMap<>();
3642
expectedCharsetCollations.put(6, 63);
3743
expectedCharsetCollations.put(7, 63);
3844
expectedCharsetCollations.put(8, 63);
3945
expectedCharsetCollations.put(9, 63);
4046

47+
BitSet expectAllColumnBitSet = new BitSet();
48+
for(int i=0; i< numericIndexWithAllColumn.size(); i++)expectAllColumnBitSet.set(numericIndexWithAllColumn.get(i));
49+
4150
assertEquals(tableMapEventMetadata.getDefaultCharset().getDefaultCharsetCollation(), 83);
4251
assertEquals(tableMapEventMetadata.getDefaultCharset().getCharsetCollations(), expectedCharsetCollations);
52+
assertEquals(tableMapEventMetadata.getSignedness(), expectAllColumnBitSet);
4353
}
4454
}

0 commit comments

Comments
 (0)