feiyu02
2025-01-08 cf4a07510de9b954c3f7393d54206eece7d6ad4a
src/test/kotlin/com/flightfeather/uav/Test.kt
@@ -1,6 +1,9 @@
package com.flightfeather.uav
import com.flightfeather.uav.common.utils.DateUtil
import com.flightfeather.uav.common.utils.FileExchange
import com.flightfeather.uav.common.utils.FileUtil
import com.flightfeather.uav.domain.entity.Company
import com.flightfeather.uav.socket.bean.DataUnit
import com.flightfeather.uav.socket.decoder.AirDataDecoder
import com.flightfeather.uav.socket.eunm.AirCommandUnit
@@ -9,6 +12,7 @@
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStreamWriter
import java.math.BigDecimal
import java.text.SimpleDateFormat
import java.util.*
@@ -47,4 +51,82 @@
    fun dataChange() {
        FileExchange().doTask2()
    }
    @Test
    fun listCopy() {
        val l1 = listOf(Company().apply { ciGuid = "a" }, Company().apply { ciGuid = "b" }, Company().apply { ciGuid = "c" })
        val l2 = mutableListOf<Company>().apply { addAll(l1) }
        l2[1].ciGuid = "d"
        println(l1)
        println(l2)
    }
    @Test
    fun average() {
        for (i in 0..2) {
            println(i)
        }
        val list = listOf(1, 2, 3, 4, 5, 0)
        println(list.average())
    }
    @Test
    fun get_crc16(){
        val dataSegment = "QN=20210713133901044;ST=22;CN=2011;PW=555555;MN=FYHB0DT0100001;Flag=1;CP=&&DataTime=20210713133800;a34001-Avg=0.017,a34001-CPM=3.9,a34001-Flag=N;a50001-Avg=71.1,a50001-Flag=N;a01001-Avg=34.0,a01001-Flag=N;a01002-Avg=59.3,a01002-Flag=N;a01007-Avg=0.6,a01007-Flag=N;a01008-Avg=256.3,a01008-Flag=N;Period=1;Scale=1.0;SelfTemp=0.0;SelfHum=0.0;IsReplacement=N&&"
        var CRC = 0x0000ffff
        val POLYNOMIAL = 0x0000a001
        var i: Int
        var j: Int
        val bufData = dataSegment.toByteArray()
        val buflen = bufData.size
        if (buflen == 0) {
            return
        }
        i = 0
        while (i < buflen) {
            CRC = CRC xor (bufData[i].toInt() and 0x000000ff)
            j = 0
            while (j < 8) {
                if (CRC and 0x00000001 != 0) {
                    CRC = CRC shr 1
                    CRC = CRC xor POLYNOMIAL
                } else {
                    CRC = CRC shr 1
                }
                j++
            }
            i++
        }
        var strCRC = Integer.toHexString(CRC).toString()
        if (strCRC.length < 4) {
            strCRC += "0"
        }
        println(strCRC)
    }
    @Test
    fun foo15() {
        var i = 0
        do {
            if (i == 3) {
                FileUtil.instance?.saveObdData("msg", true)
            } else {
                FileUtil.instance?.saveObdData("msg")
            }
            i++
        } while (i < 10)
    }
    @Test
    fun foo16() {
        val d = "2023-06-13 00:01:50.0\t".trim().split(".")[0]
        val t = DateUtil.instance.StringToDate(d, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS)
        println(d)
        println(t)
    }
    @Test
    fun foo17() {
        val a = listOf(1, 2, 3)
    }
}