Tests for Boolean Go bindings.
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/939b08ff Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/939b08ff Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/939b08ff Branch: refs/heads/master Commit: 939b08ff6e76683d3826eefb5f357efa0ba00432 Parents: d947d88 Author: Marvin Humphrey <[email protected]> Authored: Wed Aug 5 20:06:49 2015 -0700 Committer: Marvin Humphrey <[email protected]> Committed: Thu Aug 6 19:51:33 2015 -0700 ---------------------------------------------------------------------- runtime/go/clownfish/boolean_test.go | 105 ++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/939b08ff/runtime/go/clownfish/boolean_test.go ---------------------------------------------------------------------- diff --git a/runtime/go/clownfish/boolean_test.go b/runtime/go/clownfish/boolean_test.go new file mode 100644 index 0000000..a1419cb --- /dev/null +++ b/runtime/go/clownfish/boolean_test.go @@ -0,0 +1,105 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package clownfish + +import "testing" + +func TestBooleanGetValue(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if !myTrue.GetValue() { + t.Errorf("Expected true, got false") + } + if myFalse.GetValue() { + t.Errorf("Expected false, got true") + } +} + +func TestBooleanToF64(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if got := myTrue.ToF64(); got != 1.0 { + t.Errorf("Expected 1.0, got %v", got) + } + if got := myFalse.ToF64(); got != 0.0 { + t.Errorf("Expected 0.0, got %v", got) + } +} + +func TestBooleanToI64(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if got := myTrue.ToI64(); got != 1 { + t.Errorf("Expected 1, got %v", got) + } + if got := myFalse.ToI64(); got != 0 { + t.Errorf("Expected 0, got %v", got) + } +} + +func TestBooleanToBool(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if !myTrue.ToBool() { + t.Errorf("Expected true, got false") + } + if myFalse.ToBool() { + t.Errorf("Expected false, got true") + } +} + +func TestBooleanToString(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if got := myTrue.ToString(); got != "true" { + t.Errorf("Expected \"true\", got %v", got) + } + if got := myFalse.ToString(); got != "false" { + t.Errorf("Expected \"false\", got %v", got) + } +} + +func TestBooleanClone(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if myTrue.TOPTR() != myTrue.Clone().TOPTR() { + t.Errorf("Clone should wrap CFISH_TRUE") + } + if myFalse.TOPTR() != myFalse.Clone().TOPTR() { + t.Errorf("Clone should wrap CFISH_FALSE") + } +} + +func TestBooleanEquals(t *testing.T) { + myTrue := NewBoolean(true) + myFalse := NewBoolean(false) + if !myTrue.Equals(myTrue) { + t.Error("Equal Clownfish Boolean") + } + if !myTrue.Equals(true) { + t.Error("Equal Go bool (true)") + } + if !myFalse.Equals(false) { + t.Error("Equal Go bool (false)") + } + if myTrue.Equals(myFalse) { + t.Error("Non-equal Clownfish Boolean") + } + if myFalse.Equals(0) { + t.Error("Go 0 should not equal Clownfish Boolean false") + } +}
