| 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) < minimum { |
| return needNonEmptyCollection |
| } |
| return success |
| } |
| |
| func atMost(max int, expected []interface{}) string { |
| if len(expected) > max { |
| return fmt.Sprintf(needFewerValues, max, len(expected)) |
| } |
| return success |
| } |