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) | |
} | |
} | |
} |