summaryrefslogtreecommitdiff
path: root/vendor/github.com/smartystreets/assertions/filter.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/smartystreets/assertions/filter.go')
-rw-r--r--vendor/github.com/smartystreets/assertions/filter.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/github.com/smartystreets/assertions/filter.go b/vendor/github.com/smartystreets/assertions/filter.go
new file mode 100644
index 0000000..7c46ab8
--- /dev/null
+++ b/vendor/github.com/smartystreets/assertions/filter.go
@@ -0,0 +1,31 @@
+package assertions
+
+import "fmt"
+
+const (
+ success = ""
+ needExactValues = "This assertion requires exactly %d comparison values (you provided %d)."
+ needNonEmptyCollection = "This assertion requires at least 1 comparison value (you provided 0)."
+ needFewerValues = "This assertion allows %d or fewer comparison values (you provided %d)."
+)
+
+func need(needed int, expected []interface{}) string {
+ if len(expected) != needed {
+ return fmt.Sprintf(needExactValues, needed, len(expected))
+ }
+ return success
+}
+
+func atLeast(minimum int, expected []interface{}) string {
+ if len(expected) < 1 {
+ return needNonEmptyCollection
+ }
+ return success
+}
+
+func atMost(max int, expected []interface{}) string {
+ if len(expected) > max {
+ return fmt.Sprintf(needFewerValues, max, len(expected))
+ }
+ return success
+}