MCPcopy
hub / github.com/expr-lang/expr / TestIssue270

Function TestIssue270

expr_test.go:1913–1971  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1911}
1912
1913func TestIssue270(t *testing.T) {
1914 env := map[string]any{
1915 "int8": int8(1),
1916 "int16": int16(3),
1917 "int32": int32(5),
1918 "int64": int64(7),
1919 "uint8": uint8(11),
1920 "uint16": uint16(13),
1921 "uint32": uint32(17),
1922 "uint64": uint64(19),
1923 "int8a": uint(23),
1924 "int8b": uint(29),
1925 "int16a": uint(31),
1926 "int16b": uint(37),
1927 "int32a": uint(41),
1928 "int32b": uint(43),
1929 "int64a": uint(47),
1930 "int64b": uint(53),
1931 "uint8a": uint(59),
1932 "uint8b": uint(61),
1933 "uint16a": uint(67),
1934 "uint16b": uint(71),
1935 "uint32a": uint(73),
1936 "uint32b": uint(79),
1937 "uint64a": uint(83),
1938 "uint64b": uint(89),
1939 "float32a": float32(97),
1940 "float32b": float32(101),
1941 "float64a": float64(103),
1942 "float64b": float64(107),
1943 }
1944 for _, each := range []struct {
1945 input string
1946 }{
1947 {"int8 / int16"},
1948 {"int32 / int64"},
1949 {"uint8 / uint16"},
1950 {"uint32 / uint64"},
1951 {"int8 / uint64"},
1952 {"int64 / uint8"},
1953 {"int8a / int8b"},
1954 {"int16a / int16b"},
1955 {"int32a / int32b"},
1956 {"int64a / int64b"},
1957 {"uint8a / uint8b"},
1958 {"uint16a / uint16b"},
1959 {"uint32a / uint32b"},
1960 {"uint64a / uint64b"},
1961 {"float32a / float32b"},
1962 {"float64a / float64b"},
1963 } {
1964 p, err := expr.Compile(each.input, expr.Env(env))
1965 require.NoError(t, err)
1966
1967 out, err := expr.Run(p, env)
1968 require.NoError(t, err)
1969 require.IsType(t, float64(0), out)
1970 }

Callers

nothing calls this directly

Calls 5

CompileFunction · 0.92
EnvStruct · 0.92
NoErrorFunction · 0.92
RunFunction · 0.92
IsTypeFunction · 0.92

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…