Example #1
0
func TestNewBoolean(t *testing.T) {
	t.Parallel()

	value := forge.NewBoolean(true)

	if value.GetType() != forge.BOOLEAN {
		t.Error("value is not a BOOLEAN")
		return
	}

	rawVal := value.GetValue()
	switch rawVal.(type) {
	case bool:
		// this is what we want to happen
	default:
		t.Error("expected value.GetValue() to be a bool")
		return
	}

	if rawVal.(bool) != true {
		t.Error("expected value.GetValue() to be equal to 'true'")
	}
}
Example #2
0
func TestAsBoolean(t *testing.T) {
	t.Parallel()

	// Boolean true
	value := forge.NewBoolean(true)
	val, err := value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != true {
		t.Error("expected value to be 'true'")
		return
	}

	// Boolean false
	err = value.UpdateValue(false)
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != false {
		t.Error("expected value to be 'false'")
		return
	}

	// Int true
	err = value.UpdateValue(1)
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != true {
		t.Error("expected value to be 'true'")
		return
	}

	// Int false
	err = value.UpdateValue(0)
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != false {
		t.Error("expected value to be 'false'")
		return
	}

	// Float true
	err = value.UpdateValue(float64(1))
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != true {
		t.Error("expected value to be 'true'")
		return
	}

	// Float false
	err = value.UpdateValue(float64(0))
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != false {
		t.Error("expected value to be 'false'")
		return
	}

	// Null true
	err = value.UpdateValue(nil)
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != false {
		t.Error("expected value to be 'false'")
		return
	}

	// String true
	err = value.UpdateValue("anything")
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != true {
		t.Error("expected value to be 'true'")
		return
	}

	// String false
	err = value.UpdateValue("")
	if err != nil {
		t.Error(err)
		return
	}
	val, err = value.AsBoolean()
	if err != nil {
		t.Error(err)
		return
	}
	if val != false {
		t.Error("expected value to be 'false'")
		return
	}
}