feiyu02
2025-07-29 2e024c986c14943a41f7bfe913cfef0cede64198
src/test/kotlin/com/flightfeather/uav/Test.kt
@@ -1,17 +1,21 @@
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.common.utils.TimeUtil
import com.flightfeather.uav.domain.entity.BaseRealTimeData
import com.flightfeather.uav.domain.entity.Company
import com.flightfeather.uav.domain.entity.GridDataDetail
import com.flightfeather.uav.socket.bean.DataUnit
import com.flightfeather.uav.socket.decoder.AirDataDecoder
import com.flightfeather.uav.socket.eunm.AirCommandUnit
import com.google.gson.Gson
import org.junit.Test
import org.springframework.beans.BeanUtils
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStreamWriter
import java.math.BigDecimal
import java.text.SimpleDateFormat
import java.util.*
@@ -53,7 +57,8 @@
    @Test
    fun listCopy() {
        val l1 = listOf(Company().apply { ciGuid = "a" }, Company().apply { ciGuid = "b" }, Company().apply { ciGuid = "c" })
        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)
@@ -70,8 +75,9 @@
    }
    @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&&"
    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
@@ -118,10 +124,81 @@
    @Test
    fun foo16() {
        val list = listOf(1, 2, 3, 4, 5, 6)
        val iterator = list.iterator().also { it.next() }
        iterator.forEach {
            println(it)
        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 avgData = BaseRealTimeData().apply {
            no2 = 50f
            co = 50f
            h2s = 50f
            so2 = 50f
            o3 = 50f
            pm25 = 50f
            pm10 = 50f
            temperature = 50f
            humidity = 50f
            voc = 50f
            noi = 50f
            no = 50f
            windSpeed = 2f
            windDirection = 240f
        }
        val dataDetail = GridDataDetail()
        BeanUtils.copyProperties(avgData, dataDetail)
        println(dataDetail)
    }
    @Test
    fun getDayTimeTag() {
        val period = TimeUtil.getDayTimeTag(
            Date(2024, 10, 10, 10, 25, 0),
            Date(2024, 10, 10, 14, 40, 0)
        )
        println("${period?.first};${period?.second};${period?.third}")
    }
    @Test
    fun foo18() {
        println(-4.382398 in 4.0..Double.MAX_VALUE)
    }
    @Test
    fun foo19() {
        val timer = Timer(true)
//        var running = true
        val task = object : TimerTask() {
            override fun run() {
                println("task run")
                println(Date())
//                running = false
            }
        }
        println(Date())
        timer.schedule(task, 5000)
        task.cancel()
        timer.purge()
        val task2 = object : TimerTask() {
            override fun run() {
                println("task2 run")
                println(Date())
//                running = false
            }
        }
        timer.schedule(task2, 4000)
//        while (running) {
//
//        }
        val sc = Scanner(System.`in`)
        while (sc.hasNext()) {
            println(sc.nextLine())
        }
    }
}