VIN解析

2023-06-23 14:27:39 浏览数 (3)

爱情易失不易得。——佚名

分享一个VIN解析的代码

https://gitee.com/dromara/hutool/pulls/1005

使用方式

代码语言:javascript复制
package org.dromara.hutool.core.data;

import org.dromara.hutool.core.data.vin.Vin;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.time.Year;

/**
 * @author VampireAchao
 * @since 2023/5/31 14:43
 */
public class VinTest {

	@Test
	public void parseVinTest() {
		String vinStr = "HE9XR1C48PS083871";
		Vin vin = Vin.of(vinStr);
		// VIN
		Assertions.assertEquals("HE9XR1C48PS083871", vin.getCode());
		// 是否合法
		Assertions.assertTrue(Vin.isValidVinCode(vinStr));
		// 年产量<1000
		Assertions.assertTrue(vin.isLessThan1000());
		// WMI
		Assertions.assertEquals("HE9", vin.wmiCode());
		// 地理区域码
		Assertions.assertEquals("HE", vin.geoCode());
		// 主机厂代码
		Assertions.assertEquals("HE9083", vin.manufacturerCode());
		// VDS
		Assertions.assertEquals("XR1C4", vin.vdsCode());
		// 车型年份
		Assertions.assertEquals(Year.of(2023), vin.defaultYear());
		// OEM厂商
		Assertions.assertEquals("S", vin.oemCode());
		// 生产序号
		Assertions.assertEquals("871", vin.prodNo());
	}

}

0 人点赞