package router

import "testing"

func TestImplicitElapsedQueryUsesWordOrderAndNegation(t *testing.T) {
	g := ImplicitElapsedQueryGrammar()
	for _, utterance := range []string{
		"давно я не тренировался",
		"давно мы не виделись?",
	} {
		decision, matched, accepted := g.Evaluate(utterance)
		if !matched || !accepted || decision.Intent != IntentQuery || decision.Source != SourceRecall {
			t.Errorf("%q = %+v, matched=%v accepted=%v; want recall query", utterance, decision, matched, accepted)
		}
	}
	for _, utterance := range []string{
		"я давно не тренировался",
		"давно не работает сервер",
		"давно я тренировался",
		"запиши: давно я не тренировался",
	} {
		if decision, matched, accepted := g.Evaluate(utterance); matched || accepted {
			t.Errorf("%q was claimed as %+v", utterance, decision)
		}
	}
}
