penguin/golifehk

@golifehk bot in Telegram

datasources/mtr/bus/query_test.go

raw · 1357 bytes

package bus

import (
	"fmt"
	query "github.com/tgckpg/golifehk/query"
	"strings"
	"testing"
)

func TestQuery(t *testing.T) {
	qo := Query(query.QueryMessage{Lang: "zh-Hant", Text: "K73"})
	mesg, err := qo.Message()
	if err != nil {
		t.Errorf("Unexpected Error: %s", err)
	}

	if !strings.Contains(mesg, "K73↓") {
		t.Errorf("Expected Route Listing, got \"%s\" instead", mesg)
	}

	qo = Query(query.QueryMessage{Lang: "zh-Hant", Text: "K76 池"})
	mesg, err = qo.Message()
	if err == nil {
		t.Errorf("Expecting error, got \"%s\" instead", mesg)
	}

	qo = Query(query.QueryMessage{Lang: "zh-Hant", Text: "K73 池"})
	mesg, err = qo.Message()
	if err != nil {
		t.Errorf("Unexpected Error: %s", err)
	}

	qo = Query(query.QueryMessage{
		Lang: "zh-Hant", Text: "",
		// Yuen Long Plaza
		Location: &query.GeoLocation{22.444894482044997, 114.02393826485495},
		// Nathan Rd
		// Location: &query.GeoLocation{22.308944848482525, 114.17116565400259},
		// GO PARK
		// Location: &query.GeoLocation{22.427238734660868, 114.26595846515744},
		// 288 Sa Po Kong
		// Location: &query.GeoLocation{22.386886035837605, 113.92123399401174},
	})
	mesg, err = qo.Message()
	if err != nil {
		t.Errorf("Unexpected Error: %s", err)
	}

	for _, row := range qo.GetTableData() {
		for _, cell := range row {
			fmt.Printf("| %s |", cell.Name)
		}
		fmt.Print("\n")
	}
}