Files
jx-callback/business/jxutils/jxutils_test.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)
}
}
}