summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gobang.go78
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/gobang.go b/tests/gobang.go
index e35f358..e2dd61b 100644
--- a/tests/gobang.go
+++ b/tests/gobang.go
@@ -13,6 +13,82 @@ import (
+func test_SomeError() {
+ TestStart("SomeError()")
+
+ Testing("an empty array is nil", func() {
+ given := []error{}
+ AssertEqual(SomeError(given), nil)
+ })
+
+ Testing("only nil values is nil", func() {
+ given := []error{
+ nil,
+ nil,
+ nil,
+ }
+ AssertEqual(SomeError(given), nil)
+ })
+
+ Testing("we get the first non-nil value", func() {
+ err1 := errors.New("error 1")
+ err2 := errors.New("error 2")
+ given := []error{
+ nil,
+ err1,
+ err2,
+ }
+ AssertEqual(SomeError(given), err1)
+ })
+}
+
+func test_SomeFnError() {
+ TestStart("SomeFnError()")
+
+ Testing("an empty arrays is also nil", func() {
+ given := [](func() error){}
+ AssertEqual(SomeFnError(given), nil)
+ })
+
+ Testing("all functions are called", func() {
+ i := 0
+ fn := func() error {
+ i++
+ return nil
+ }
+ given := [](func() error){
+ fn,
+ fn,
+ fn,
+ }
+ AssertEqual(SomeFnError(given), nil)
+ AssertEqual(i, 3)
+ })
+
+ Testing("we call all functions even if we get an error", func() {
+ i := 0
+ errs := []error{
+ nil,
+ nil,
+ errors.New("fn error 2"),
+ errors.New("fn error 3"),
+ nil,
+ }
+ fn := func() error {
+ i++
+ return errs[i]
+ }
+ given := [](func() error){
+ fn,
+ fn,
+ fn,
+ fn,
+ }
+ AssertEqual(SomeFnError(given), errs[2])
+ AssertEqual(i, 4)
+ })
+}
+
func test_Random() {
TestStart("Random()")
@@ -788,6 +864,8 @@ func test_setHostname() {
func MainTest() {
+ test_SomeError()
+ test_SomeFnError()
test_Random()
test_sourceInfo()
test_logArgs()