package expression import ( "fmt" "testing" ) func TestExp(t *testing.T) { result, err := Evaluate("price <= maxPrice || !isActive || hasPremium", map[string]interface{}{ "price": 1200.0, "maxPrice": 1000.0, "isActive": false, "hasPremium": true, }) if err != nil { t.Error(err) return } fmt.Println("r1:", result) vars := map[string]interface{}{ "age": 35.0, "bonus": 5000.0, "salary": 120000.0, "isActive": false, "price": 899.0, "maxPrice": 1000.0, "hasPremium": true, } result, err = Evaluate("(age + bonus) > salary / 12 && !isActive || price <= maxPrice", vars) if err != nil { panic(err) } fmt.Println("r2:", result) }