123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- package array
- import (
- "fmt"
- "testing"
- )
- type keyValue struct {
- key string
- value string
- }
- type PubKeyValue struct {
- Key string
- Value string
- }
- // test array column
- func TestArrayColumn(t *testing.T) {
- /*dataMap := []PubKeyValue{
- {Key: "a", Value: "A"},
- {Key: "b", Value: "B"},
- }*/
- /*dataMap := map[string]map[string]string{
- "a": {"key": "a", "value": "A"},
- "b": {"key": "b", "value": "B"},
- }
- dest := map[string]string{}*/
- dataMap := []map[string]string{
- {"key": "a", "value": "A"},
- {"key": "b", "value": "B"},
- }
- dest := map[string]map[string]string{}
- Column(&dest, dataMap, "", "value")
- fmt.Println(dest)
- }
- // test array diff
- func TestArrayDiff(t *testing.T) {
- dataMap := map[string]keyValue{
- "a": {key: "a", value: "A"},
- "b": {key: "b", value: "B"},
- }
- dataMap1 := []keyValue{
- {key: "c", value: "C"},
- {key: "b", value: "B"},
- }
- dataMap2 := []string{
- "a", "b",
- }
- Diff(&dataMap, dataMap1, dataMap2)
- fmt.Println("dataMap", dataMap)
- }
- // test array intersect
- func TestArrayIntersect(t *testing.T) {
- dataMap := []keyValue{
- {key: "c", value: "C"},
- {key: "b", value: "B"},
- }
- dataMap1 := map[string]keyValue{
- "a": {key: "a", value: "A"},
- "b": {key: "b", value: "B"},
- "c": {key: "c", value: "C"},
- }
- dataMap2 := []string{
- "a", "b",
- }
- Intersect(&dataMap, dataMap1, &dataMap2)
- fmt.Println("dataMap", dataMap)
- }
- // test in array
- func TestInArray(t *testing.T) {
- /*data := map[int]string{1: "1"}
- dataMap := map[string]map[int]string{
- "a": {1: "1"},
- "b": {2: "2"},
- }*/
- /*dataMap := []keyValue{
- {key: "a", value: "A"},
- {key: "b", value: "B"},
- }
- data := keyValue{key: "b", value: "A"}*/
- dataMap := []string{"a", "b", "c"}
- data := "a"
- isExist := In(&data, dataMap)
- fmt.Println(isExist)
- }
- // test array array_merge
- func TestArrayMergeForSlice(t *testing.T) {
- dataMap := []map[int]string{
- {1: "1"},
- {2: "2"},
- }
- oDataMap1 := []map[int]string{
- {3: "3"},
- {4: "4"},
- }
- Merge(&dataMap, &oDataMap1)
- fmt.Println(dataMap)
- }
- // test map array_merge
- func TestArrayMergeForMap(t *testing.T) {
- dataMap := map[string]map[int]string{
- "a": {1: "1"},
- "b": {2: "2"},
- }
- oDataMap1 := map[string]map[int]string{
- "c": {3: "3"},
- "b": {4: "4"},
- }
- oDataMap2 := map[string]map[int]string{}
- oDataMap3 := map[string]map[int]string{
- "e": {5: "5"},
- "f": {6: "6"},
- }
- Merge(&dataMap, &oDataMap1, oDataMap2, oDataMap3)
- fmt.Println(dataMap)
- }
- // test slice array_values
- func TestArrayValuesForSlice(t *testing.T) {
- dataMap := []map[int]string{
- {1: "1", 2: "2"},
- {1: "1", 2: "2"},
- }
- var valueArr []map[int]string
- Values(dataMap, &valueArr)
- fmt.Println(valueArr)
- }
- // test Map array_values
- func TestArrayValuesForMap(t *testing.T) {
- /*dataMap := map[string]keyValue{
- "a":{key: "a", value: "A"},
- "b":{key: "b", value: "B"},
- }*/
- dataMap := map[string]map[int]string{
- "a": {1: "1", 2: "2"},
- "b": {1: "1", 2: "2"},
- }
- var valueArr []map[int]string
- Values(dataMap, &valueArr)
- fmt.Println(valueArr)
- /*fmt.Println(vValue.Elem().Type().Elem().Name(), dValue.Type().Elem().Name())
- fmt.Println(vValue.Elem().Type().Elem().PkgPath(), dValue.Type().Elem().PkgPath())*/
- }
- // test array_keys
- func TestArrayKeysForMap(t *testing.T) {
- dataMap := map[string]keyValue{
- "a": {key: "a", value: "A"},
- "b": {key: "b", value: "B"},
- }
- var keysArr []string
- Keys(dataMap, &keysArr)
- fmt.Println(keysArr)
- }
- // test array_unique
- func TestArrayUnique(t *testing.T) {
- /*dataMap := map[string]keyValue{
- "a": {key: "a", value: "A"},
- "b": {key: "b", value: "B"},
- "c": {key: "a", value: "A"},
- }*/
- dataMap := []keyValue{
- {key: "a", value: "A"},
- {key: "b", value: "B"},
- {key: "a", value: "A"},
- }
- Unique(&dataMap)
- fmt.Println(dataMap)
- }
|