161 lines
4.9 KiB
Go
161 lines
4.9 KiB
Go
package jxutils
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"git.rosy.net.cn/baseapi/utils"
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
)
|
|
|
|
func TestEarthDistance(t *testing.T) {
|
|
lng1, lat1 := 118.796877, 32.060255
|
|
lng2, lat2 := 116.407395, 39.904211
|
|
distance := EarthDistance(lng1, lat1, lng2, lat2)
|
|
fmt.Print(distance)
|
|
}
|
|
|
|
func TestMapValue2Scope(t *testing.T) {
|
|
result := MapValue2Scope(-4, -10, 0, 0, 100)
|
|
if result != 60 {
|
|
t.Fatalf("result:%d is wrong", result)
|
|
}
|
|
|
|
result = MapValue2Scope(-4, 0, 10, 0, 100)
|
|
if result != 0 {
|
|
t.Fatalf("result:%d is wrong", result)
|
|
}
|
|
|
|
result = MapValue2Scope(100, 0, 10, 0, 100)
|
|
if result != 100 {
|
|
t.Fatalf("result:%d is wrong", result)
|
|
}
|
|
}
|
|
|
|
func TestGetNameAndUnitFromSkuName(t *testing.T) {
|
|
name, unit := GetNameAndUnitFromSkuName("【满59免运】蒜苔肉丝约400g/个(蒜苔约250g 肉丝约150g/份)")
|
|
if name != "【满59免运】蒜苔肉丝约400g" || unit != "个" {
|
|
t.Fatalf("TestGetNameAndUnitFromSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
name, unit = GetNameAndUnitFromSkuName("【满59免运】蒜苔肉丝约400g/g份(蒜苔约250g 肉丝约150g/份)")
|
|
if name != "【满59免运】蒜苔肉丝约400g" || unit != "g" {
|
|
t.Fatalf("TestGetNameAndUnitFromSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
name, unit = GetNameAndUnitFromSkuName("【满59免运】蒜苔肉丝约400g/个")
|
|
if name != "【满59免运】蒜苔肉丝约400g" || unit != "个" {
|
|
t.Fatalf("TestGetNameAndUnitFromSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
name, unit = GetNameAndUnitFromSkuName("【满59免运】蒜苔肉丝约400g/")
|
|
if name != "【满59免运】蒜苔肉丝约400g" || unit != "份" {
|
|
t.Fatalf("TestGetNameAndUnitFromSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
name, unit = GetNameAndUnitFromSkuName("【满59免运】蒜苔肉丝约400g")
|
|
if name != "【满59免运】蒜苔肉丝约400g" || unit != "份" {
|
|
t.Fatalf("TestGetNameAndUnitFromSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
}
|
|
|
|
func TestSplitSkuName(t *testing.T) {
|
|
prefix, name, comment, specUnit, unit, specQuality := SplitSkuName("[好吃]黄骨鱼约600G/非份(黄辣丁、昂刺鱼)")
|
|
if prefix != "好吃" || name != "黄骨鱼" || comment != "黄辣丁、昂刺鱼" || specUnit != "g" || unit != "非份" || specQuality != 600 {
|
|
t.Fatalf("SplitSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
prefix, name, comment, specUnit, unit, specQuality = SplitSkuName("【满59免运】蒜苔肉丝约400g")
|
|
if prefix != "满59免运" || name != "蒜苔肉丝" || comment != "" || specUnit != "g" || unit != "份" || specQuality != 400 {
|
|
t.Fatalf("SplitSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
prefix, name, comment, specUnit, unit, specQuality = SplitSkuName("【满59免运】蒜苔肉丝约400.1ML/")
|
|
if prefix != "满59免运" || name != "蒜苔肉丝" || comment != "" || specUnit != "ml" || unit != "份" || specQuality != 400.1 {
|
|
t.Fatalf("SplitSkuName wrong, name:%s, unit:%s", name, unit)
|
|
}
|
|
}
|
|
|
|
func TestSplitUniversalOrderID(t *testing.T) {
|
|
testData := [][]interface{}{
|
|
[]interface{}{
|
|
"800402581000221",
|
|
"800402581000221",
|
|
model.VendorIDJD,
|
|
},
|
|
[]interface{}{
|
|
"3022716176275221584" + "|" + utils.Int2Str(model.VendorIDJD),
|
|
"3022716176275221584",
|
|
model.VendorIDJD,
|
|
},
|
|
[]interface{}{
|
|
"3022716176275221584",
|
|
"3022716176275221584",
|
|
model.VendorIDELM,
|
|
},
|
|
[]interface{}{
|
|
"15380342248732",
|
|
"15380342248732",
|
|
model.VendorIDEBAI,
|
|
},
|
|
[]interface{}{
|
|
"33437032333978492",
|
|
"33437032333978492",
|
|
model.VendorIDMTWM,
|
|
},
|
|
[]interface{}{
|
|
"5287873015048",
|
|
"5287873015048",
|
|
model.VendorIDWSC,
|
|
},
|
|
}
|
|
for _, v := range testData {
|
|
universalOrderID := v[0].(string)
|
|
desiredOrderID := v[1].(string)
|
|
desiredVendorID := v[2].(int)
|
|
orderID, vendorID := SplitUniversalOrderID(universalOrderID)
|
|
if orderID != desiredOrderID || vendorID != desiredVendorID {
|
|
t.Fatalf("%s is not ok, orderID:%s, desiredOrderID:%s, vendorID:%d, desiredVendorID:%d", universalOrderID, orderID, desiredOrderID, vendorID, desiredVendorID)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestGetPossibleVendorIDFromVendorOrderID(t *testing.T) {
|
|
testData := [][]interface{}{
|
|
[]interface{}{
|
|
"800402581000221",
|
|
model.VendorIDJD,
|
|
},
|
|
[]interface{}{
|
|
"X00402581000221",
|
|
model.VendorIDUnknown,
|
|
},
|
|
[]interface{}{
|
|
"8004025810002210",
|
|
model.VendorIDUnknown,
|
|
},
|
|
[]interface{}{
|
|
"3022716176275221584",
|
|
model.VendorIDEBAI,
|
|
},
|
|
[]interface{}{
|
|
"302271617627522158X",
|
|
model.VendorIDUnknown,
|
|
},
|
|
[]interface{}{
|
|
"15380342248732",
|
|
model.VendorIDEBAI,
|
|
},
|
|
[]interface{}{
|
|
"33437032333978492",
|
|
model.VendorIDMTWM,
|
|
},
|
|
[]interface{}{
|
|
"5287873015048",
|
|
model.VendorIDWSC,
|
|
},
|
|
}
|
|
for _, v := range testData {
|
|
universalOrderID := v[0].(string)
|
|
desiredVendorID := v[1].(int)
|
|
vendorID := GetPossibleVendorIDFromVendorOrderID(universalOrderID)
|
|
if vendorID != desiredVendorID {
|
|
t.Fatalf("%s is not ok, should be:%d, but it's:%d", universalOrderID, desiredVendorID, vendorID)
|
|
}
|
|
}
|
|
}
|