package util

import (
	"flag"
	"testing"
)

func TestEmailClassifier(t *testing.T) {
	fs := flag.NewFlagSet("TestEmailClassifier", flag.PanicOnError)
	var c EmailClassifier
	fs.Var(&c, "myflag", "my usage")
	if err := fs.Parse([]string{"--myflag", "foo.com=internal,bar.com=external"}); err != nil {
		t.Fatal(err)
	}
	tests := []struct {
		in, out string
	}{
		{"batman@foo.com", "internal"},
		{"bugsbunny@foo.com.com", "users"},
		{"daffyduck@bar.com", "external"},
		{"joker@other.com", "users"},
	}
	for _, test := range tests {
		if got := c.Classify(test.in); got != test.out {
			t.Errorf("%q: Got %q, want %q", test.in, got, test.out)
		}
	}
}
