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'") } }
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 } }