From 2b9187ac736feeb661e2814af8fa534a335998d4 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 6 Oct 2015 16:55:31 +1300 Subject: Clean up CRC-16 implementations --- test/org/traccar/helper/ChecksumTest.java | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'test/org') diff --git a/test/org/traccar/helper/ChecksumTest.java b/test/org/traccar/helper/ChecksumTest.java index ad112b940..a2e69eb5a 100644 --- a/test/org/traccar/helper/ChecksumTest.java +++ b/test/org/traccar/helper/ChecksumTest.java @@ -1,16 +1,31 @@ package org.traccar.helper; +import org.jboss.netty.buffer.ChannelBuffer; +import org.jboss.netty.buffer.ChannelBuffers; import org.junit.Assert; import org.junit.Test; +import java.nio.charset.Charset; + public class ChecksumTest { - + @Test - public void testLuhnChecksum() { + public void testCrc16() { + ChannelBuffer buf = ChannelBuffers.copiedBuffer("123456789", Charset.defaultCharset()); + Assert.assertEquals(0x906e, Checksum.crc16(Checksum.CRC16_X25, buf.toByteBuffer())); + Assert.assertEquals(0x29b1, Checksum.crc16(Checksum.CRC16_CCITT_FALSE, buf.toByteBuffer())); + Assert.assertEquals(0x2189, Checksum.crc16(Checksum.CRC16_KERMIT, buf.toByteBuffer())); + Assert.assertEquals(0x31c3, Checksum.crc16(Checksum.CRC16_XMODEM, buf.toByteBuffer())); + Assert.assertEquals(0xe5cc, Checksum.crc16(Checksum.CRC16_AUG_CCITT, buf.toByteBuffer())); + Assert.assertEquals(0xd64e, Checksum.crc16(Checksum.CRC16_GENIBUS, buf.toByteBuffer())); + Assert.assertEquals(0x6f91, Checksum.crc16(Checksum.CRC16_MCRF4XX, buf.toByteBuffer())); + } + + @Test + public void testLuhn() { Assert.assertEquals(7, Checksum.luhn(12345678901234L)); Assert.assertEquals(0, Checksum.luhn(63070019470771L)); - } } -- cgit v1.2.3