mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
a8a1d4b820
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
259 lines
4.9 KiB
YAML
259 lines
4.9 KiB
YAML
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
cases:
|
|
- note: abs
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = abs(-9)
|
|
query: data.test.x
|
|
want_result: 9
|
|
|
|
- note: abs-extra-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = abs(-9, 10)
|
|
query: data.test.x
|
|
error: "`abs` expects 1 argument"
|
|
|
|
- note: abs-invalid-type
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = abs("-9")
|
|
query: data.test.x
|
|
error: "`abs` expects numeric argument"
|
|
|
|
- note: ceil
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = [ceil(9.1), ceil(-9.1)]
|
|
query: data.test.x
|
|
want_result: [10, -9]
|
|
|
|
- note: ceil-extra-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = ceil(-9, 10)
|
|
query: data.test.x
|
|
error: "`ceil` expects 1 argument"
|
|
|
|
- note: ceil-invalid-type
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = ceil("-9")
|
|
query: data.test.x
|
|
error: "`ceil` expects numeric argument"
|
|
|
|
- note: floor
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = [floor(9.1), floor(-9.1)]
|
|
query: data.test.x
|
|
want_result: [9, -10]
|
|
|
|
- note: floor-extra-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = floor(-9, 10)
|
|
query: data.test.x
|
|
error: "`floor` expects 1 argument"
|
|
|
|
- note: floor-invalid-type
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = floor("-9")
|
|
query: data.test.x
|
|
error: "`floor` expects numeric argument"
|
|
|
|
- note: numbers.range
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
r1 = numbers.range(1, 5)
|
|
r2 = numbers.range(5, 1)
|
|
r3 = numbers.range(-1, -5)
|
|
r4 = numbers.range(-5, -1)
|
|
|
|
# Non-integer start and end result in Undefined.
|
|
r5 = numbers.range(1.01, 5)
|
|
r6 = numbers.range(1, 5.01)
|
|
|
|
# Single item range
|
|
r7 = numbers.range(8, 8)
|
|
query: data.test
|
|
want_result:
|
|
r1: [1, 2, 3, 4, 5]
|
|
r2: [5, 4, 3, 2, 1]
|
|
r3: [-1, -2, -3, -4, -5]
|
|
r4: [-5, -4, -3, -2, -1]
|
|
r7: [8]
|
|
|
|
- note: numbers.range-less-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = numbers.range(1)
|
|
query: data.test.x
|
|
error: "`numbers.range` expects 2 arguments"
|
|
|
|
- note: numbers.range-more-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = numbers.range(1, 2, 3)
|
|
query: data.test.x
|
|
error: "`numbers.range` expects 2 arguments"
|
|
|
|
- note: numbers.range-invalid-start
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = numbers.range("1", 2)
|
|
query: data.test.x
|
|
error: "`numbers.range` expects numeric argument"
|
|
|
|
- note: numbers.range-invalid-end
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = numbers.range(1, "2")
|
|
query: data.test.x
|
|
error: "`numbers.range` expects numeric argument"
|
|
|
|
- note: round
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = [round(-9.4), round(-9.5), round(-9.6),
|
|
round(9.4), round(9.5), round(9.6)]
|
|
query: data.test.x
|
|
want_result: [-9, -10, -10, 9, 10, 10]
|
|
|
|
- note: round-extra-args
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = round(-9, 10)
|
|
query: data.test.x
|
|
error: "`round` expects 1 argument"
|
|
|
|
- note: round-invalid-type
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = round("-9")
|
|
query: data.test.x
|
|
error: "`round` expects numeric argument"
|
|
|
|
- note: div
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = 1/3
|
|
query: data.test.x
|
|
want_result: 0.3333333333333333
|
|
|
|
- note: div-non-numeric
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = "1" / 9
|
|
query: data.test.x
|
|
error: "`div` expects numeric argument."
|
|
|
|
- note: div-undefined
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
import future.keywords.if
|
|
a if false
|
|
x = a / 1
|
|
query: data.test
|
|
want_result: {}
|
|
|
|
- note: div-by-zero
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = 1/0
|
|
query: data.test
|
|
want_result: {}
|
|
|
|
- note: mod
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = 10%3
|
|
query: data.test.x
|
|
want_result: 1
|
|
|
|
- note: mod-non-numeric
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = "1" % 9
|
|
query: data.test.x
|
|
error: "`mod` expects numeric argument."
|
|
|
|
- note: mod-undefined
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
import future.keywords.if
|
|
a if false
|
|
x = a % 10
|
|
query: data.test
|
|
want_result: {}
|
|
|
|
- note: mod-by-zero
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = 1%0
|
|
query: data.test
|
|
want_result: {}
|
|
|
|
- note: all
|
|
data: {}
|
|
modules:
|
|
- |
|
|
package test
|
|
x = 16 / 2 % 5 / 2
|
|
query: data.test
|
|
want_result:
|
|
x: 1.5
|