forked from root/public
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
708 B
36 lines
708 B
// +build ignore |
|
|
|
package solutions |
|
|
|
import ( |
|
"reflect" |
|
"testing" |
|
|
|
"github.com/01-edu/z01" |
|
|
|
student "../student" |
|
) |
|
|
|
func CompareReturn(t *testing.T, fn1, fn2, arg1, arg2 interface{}) { |
|
arar1 := []interface{}{arg1} |
|
arar2 := []interface{}{arg2} |
|
|
|
out1 := z01.Monitor(fn1, arar1) |
|
out2 := z01.Monitor(fn2, arar2) |
|
|
|
for i, v := range out1.Results { |
|
switch str := v.(type) { |
|
case *solutions.TreeNode: |
|
CompareNode(t, str, out2.Results[i].(*student.TreeNode)) |
|
default: |
|
if !reflect.DeepEqual(str, out2.Results[i]) { |
|
t.Fatalf("%s(%s) == %s instead of %s\n", |
|
z01.NameOfFunc(fn1), |
|
z01.Format(arg1), |
|
z01.Format(out1.Results...), |
|
z01.Format(out2.Results...), |
|
) |
|
} |
|
} |
|
} |
|
}
|
|
|