/**
 * 坐标转换工具类测试文件
 * 用于验证坐标转换功能是否正常工作
 */

import coordinateUtils from './coordinateUtils.js'

// 测试坐标数据（北京市天安门广场的高德坐标）
const testGcj02Lng = 116.3974
const testGcj02Lat = 39.9093

// 预期转换后的WGS84坐标（大致值，用于验证）
const expectedWgs84Lng = 116.3912
const expectedWgs84Lat = 39.9073

console.log('=== 坐标转换工具类测试 ===')
console.log('原始GCJ-02坐标:', { lng: testGcj02Lng, lat: testGcj02Lat })

// 测试单个坐标转换
const converted = coordinateUtils.gcj02ToWgs84(testGcj02Lng, testGcj02Lat)
console.log('转换后的WGS84坐标:', converted)

// 验证转换结果是否合理
const lngDiff = Math.abs(converted.lng - expectedWgs84Lng)
const latDiff = Math.abs(converted.lat - expectedWgs84Lat)

console.log('经度差异:', lngDiff.toFixed(6), '纬度差异:', latDiff.toFixed(6))

if (lngDiff < 0.01 && latDiff < 0.01) {
  console.log('✅ 坐标转换测试通过')
} else {
  console.log('❌ 坐标转换测试失败，差异过大')
}

// 测试坐标点数组转换
const testPoints = [
  { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() },
  { lng: testGcj02Lng + 0.001, lat: testGcj02Lat + 0.001, timestamp: Date.now() }
]

console.log('\n=== 测试坐标点数组转换 ===')
console.log('原始坐标点:', testPoints)

const convertedPoints = coordinateUtils.convertPointsToWgs84(testPoints)
console.log('转换后坐标点:', convertedPoints)

// 测试单个坐标点转换
const testPoint = { lng: testGcj02Lng, lat: testGcj02Lat, timestamp: Date.now() }
console.log('\n=== 测试单个坐标点转换 ===')
console.log('原始坐标点:', testPoint)

const convertedPoint = coordinateUtils.convertPointToWgs84(testPoint)
console.log('转换后坐标点:', convertedPoint)

// 测试边界情况
console.log('\n=== 测试边界情况 ===')
console.log('无效坐标点:', coordinateUtils.convertPointToWgs84(null))
console.log('不完整坐标点:', coordinateUtils.convertPointToWgs84({ lng: 116.0 }))
console.log('空数组:', coordinateUtils.convertPointsToWgs84([]))
console.log('无效数组:', coordinateUtils.convertPointsToWgs84(null))

console.log('\n=== 测试完成 ===')
