github.com/ranjib/nomad@v0.1.1-0.20160225204057-97751b02f70b/command/meta_test.go (about) 1 package command 2 3 import ( 4 "flag" 5 "reflect" 6 "sort" 7 "testing" 8 ) 9 10 func TestMeta_FlagSet(t *testing.T) { 11 cases := []struct { 12 Flags FlagSetFlags 13 Expected []string 14 }{ 15 { 16 FlagSetNone, 17 []string{}, 18 }, 19 { 20 FlagSetClient, 21 []string{"address"}, 22 }, 23 } 24 25 for i, tc := range cases { 26 var m Meta 27 fs := m.FlagSet("foo", tc.Flags) 28 29 actual := make([]string, 0, 0) 30 fs.VisitAll(func(f *flag.Flag) { 31 actual = append(actual, f.Name) 32 }) 33 sort.Strings(actual) 34 sort.Strings(tc.Expected) 35 36 if !reflect.DeepEqual(actual, tc.Expected) { 37 t.Fatalf("%d: flags: %#v\n\nExpected: %#v\nGot: %#v", 38 i, tc.Flags, tc.Expected, actual) 39 } 40 } 41 }