package query import ( "testing" ) type TestItem struct { Words NoGeoLocation } func TestQuery(t *testing.T) { testItems := []ISearchable{} s1234 := "1234" sApple := "Apple" s0000 := "0000" sDat0 := "Dat0" data0 := []*string{} data0 = append(data0, &s1234) data0 = append(data0, &sApple) t0 := TestItem{} t0.Key = &sDat0 t0.SearchData = &data0 testItems = append(testItems, &t0) sDat1 := "Dat1" data1 := []*string{} data1 = append(data1, &s0000) data1 = append(data1, &sApple) t1 := TestItem{} t1.Key = &sDat1 t1.SearchData = &data1 testItems = append(testItems, &t1) sDat2 := "Dat2" data2 := []*string{} data2 = append(data2, &sDat0) t2 := TestItem{} t2.Key = &sDat2 t2.SearchData = &data2 testItems = append(testItems, &t2) qo, err := MatchKeys("Apple", &testItems) if err != nil { t.Error(err) } if len(*qo.Results) != 2 { t.Error("Expected 2 results when searching for \"Apple\"") } qo, err = MatchKeys("0000", &testItems) if err != nil { t.Error(err) } if len(*qo.Results) != 1 { t.Error("Expected 1 results when searching for \"0000\"") } qo, err = MatchKeys("Dat0", &testItems) if err != nil { t.Error(err) } if len(*qo.Results) != 1 { t.Error("Expected 1 results when searching for \"Dat0\"") } qo, err = MatchKeys("Dat2 Dat0", &testItems) if err != nil { t.Error(err) } if len(*qo.Results) != 1 { t.Error("Expected 1 results when searching for \"Dat2 Dat0\"") } }