|
|
@@ -1,5 +1,6 @@
|
|
|
package cn.hutool.core.io.checksum;
|
|
|
|
|
|
+import cn.hutool.core.io.checksum.crc16.CRC16Ansi;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16CCITT;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16CCITTFalse;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16DNP;
|
|
|
@@ -9,7 +10,6 @@ import cn.hutool.core.io.checksum.crc16.CRC16Modbus;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16USB;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16X25;
|
|
|
import cn.hutool.core.io.checksum.crc16.CRC16XModem;
|
|
|
-import cn.hutool.core.util.HexUtil;
|
|
|
import org.junit.Assert;
|
|
|
import org.junit.Test;
|
|
|
|
|
|
@@ -21,62 +21,74 @@ public class CRC16Test {
|
|
|
public void ccittTest(){
|
|
|
final CRC16CCITT crc16 = new CRC16CCITT();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("c852", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("c852", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void ccittFalseTest(){
|
|
|
final CRC16CCITTFalse crc16 = new CRC16CCITTFalse();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("a5e4", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("a5e4", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void xmodemTest(){
|
|
|
final CRC16XModem crc16 = new CRC16XModem();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("5a8d", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("5a8d", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void x25Test(){
|
|
|
final CRC16X25 crc16 = new CRC16X25();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("a152", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("a152", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void modbusTest(){
|
|
|
final CRC16Modbus crc16 = new CRC16Modbus();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("25fb", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("25fb", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void ibmTest(){
|
|
|
final CRC16IBM crc16 = new CRC16IBM();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("18c", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("18c", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void maximTest(){
|
|
|
final CRC16Maxim crc16 = new CRC16Maxim();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("fe73", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("fe73", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void usbTest(){
|
|
|
final CRC16USB crc16 = new CRC16USB();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("da04", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("da04", crc16.getHexValue());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void dnpTest(){
|
|
|
final CRC16DNP crc16 = new CRC16DNP();
|
|
|
crc16.update(data.getBytes());
|
|
|
- Assert.assertEquals("3d1a", HexUtil.toHex(crc16.getValue()));
|
|
|
+ Assert.assertEquals("3d1a", crc16.getHexValue());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void ansiTest(){
|
|
|
+ final CRC16Ansi crc16 = new CRC16Ansi();
|
|
|
+ crc16.update(data.getBytes());
|
|
|
+ Assert.assertEquals("1e00", crc16.getHexValue());
|
|
|
+
|
|
|
+ crc16.reset();
|
|
|
+ String str2 = "QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5;CP=&&RtdInterval=30&&";
|
|
|
+ crc16.update(str2.getBytes());
|
|
|
+ Assert.assertEquals("1c80", crc16.getHexValue());
|
|
|
}
|
|
|
}
|