예제 #1
0
func TestNewNull(t *testing.T) {
	t.Parallel()

	value := forge.NewNull()

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

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

	if rawVal != nil {
		t.Error("expected value.GetValue() to be equal to 'nil'")
	}
}
예제 #2
0
func TestUpdateValue(t *testing.T) {
	t.Parallel()

	value := forge.NewNull()

	// Boolean
	err := value.UpdateValue(true)
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.BOOLEAN {
		t.Error("value is not a BOOLEAN")
		return
	}
	if value.GetValue().(bool) != true {
		t.Error("expected value.GetValue() to be equal to 'true'")
	}

	// Float
	err = value.UpdateValue(50.5)
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.FLOAT {
		t.Error("value is not a FLOAT")
		return
	}
	if value.GetValue().(float64) != 50.5 {
		t.Error("expected value.GetValue() to be equal to '50.5'")
	}

	// Integer int
	err = value.UpdateValue(50)
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.INTEGER {
		t.Error("value is not a INTEGER")
		return
	}
	if value.GetValue().(int64) != 50 {
		t.Error("expected value.GetValue() to be equal to '50'")
	}

	// Integer int64
	err = value.UpdateValue(int64(50))
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.INTEGER {
		t.Error("value is not a INTEGER")
		return
	}
	if value.GetValue().(int64) != 50 {
		t.Error("expected value.GetValue() to be equal to '50'")
	}

	// Null
	err = value.UpdateValue(nil)
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.NULL {
		t.Error("value is not a NULL")
		return
	}
	if value.GetValue() != nil {
		t.Error("expected value.GetValue() to be equal to '50'")
	}

	// String
	err = value.UpdateValue("hello")
	if err != nil {
		t.Error(err)
		return
	}
	if value.GetType() != forge.STRING {
		t.Error("value is not a STRING")
		return
	}
	if value.GetValue().(string) != "hello" {
		t.Error("expected value.GetValue() to be equal to '\"hello\"'")
		return
	}

}