From 68b6a03270258d9d3eb66d186592818ed13d006b Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Wed, 2 Apr 2014 16:01:42 -0700 Subject: [PATCH] feat(set): Add set.Values() method --- dbus/set.go | 7 +++++++ dbus/set_test.go | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/dbus/set.go b/dbus/set.go index 88378b29..45ad1fb3 100644 --- a/dbus/set.go +++ b/dbus/set.go @@ -21,6 +21,13 @@ func (s *set) Length() (int) { return len(s.data) } +func (s *set) Values() (values []string) { + for val, _ := range s.data { + values = append(values, val) + } + return +} + func newSet() (*set) { return &set{make(map[string] bool)} } diff --git a/dbus/set_test.go b/dbus/set_test.go index d8d174d0..c4435f88 100644 --- a/dbus/set_test.go +++ b/dbus/set_test.go @@ -18,9 +18,22 @@ func TestBasicSetActions(t *testing.T) { t.Fatal("set should contain 'foo'") } + v := s.Values() + if len(v) != 1 { + t.Fatal("set.Values did not report correct number of values") + } + if v[0] != "foo" { + t.Fatal("set.Values did not report value") + } + s.Remove("foo") if s.Contains("foo") { t.Fatal("set should not contain 'foo'") } + + v = s.Values() + if len(v) != 0 { + t.Fatal("set.Values did not report correct number of values") + } }