package message

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestMentionTokenMatchesTargetSupportsCJKContinuation(t *testing.T) {
	t.Parallel()

	require.True(t, MentionTokenMatchesTarget("billmay-sdr线索洞察请给我", "billmay-sdr线索洞察"))
	require.True(t, MentionTokenMatchesTarget("Billmay-SDR线索洞察请给我", "billmay-sdr线索洞察"))
}

func TestMentionTokenMatchesTargetRejectsNonCJKContinuation(t *testing.T) {
	t.Parallel()

	require.False(t, MentionTokenMatchesTarget("aliceplease", "alice"))
	require.False(t, MentionTokenMatchesTarget("billmay-sdr线索洞察-v2", "billmay-sdr线索洞察"))
}

func TestMatchedMentionTargetTokenChoosesLongestMatch(t *testing.T) {
	t.Parallel()

	matched, ok := matchedMentionTargetToken("调研专家请跟进", []string{"调研", "调研专家"})

	require.True(t, ok)
	require.Equal(t, "调研专家", matched)
}
