packages feed

egison-3.9.4: nons-test/test/primitive.egi

assertEqual "numerator" (numerator (13 / 21)) 13

assertEqual "denominator" (denominator (13 / 21)) 21

assertEqual "modulo" (modulo (-21) 13) 5

assertEqual "quotient" (quotient (-21) 13) (-1)

assertEqual "remainder" (remainder (-21) 13) (-8)

assertEqual "neg" (neg (-89)) 89

assertEqual "abs" (abs 0)     0
assertEqual "abs" (abs 15)    15
assertEqual "abs" (abs (-89)) 89

assertEqual "lt?" (0.1 < 1.0) True
assertEqual "lt?" (1.0 < 0.1) False
assertEqual "lt?" (1.0 < 1.0) False

assertEqual "lte?" (0.1 <= 1.0) True
assertEqual "lte?" (1.0 <= 0.1) False
assertEqual "lte?" (1.0 <= 1.0) True

assertEqual "gt?" (0.1 > 1.0) False
assertEqual "gt?" (1.0 > 0.1) True
assertEqual "gt?" (1.0 > 1.0) False

assertEqual "gte?" (0.1 >= 1.0) False
assertEqual "gte?" (1.0 >= 0.1) True
assertEqual "gte?" (1.0 >= 1.0) True

assertEqual "round" (round 3.1)    3
assertEqual "round" (round 3.7)    4
assertEqual "round" (round (-2.2)) (-2)
assertEqual "round" (round (-2.7)) (-3)

assertEqual "floor" (floor 3.1)    3
assertEqual "floor" (floor 3.7)    3
assertEqual "floor" (floor (-2.2)) (-3)
assertEqual "floor" (floor (-2.7)) (-3)

assertEqual "ceiling" (ceiling 3.1)    4
assertEqual "ceiling" (ceiling 3.7)    4
assertEqual "ceiling" (ceiling (-2.2)) (-2)
assertEqual "ceiling" (ceiling (-2.7)) (-2)

assertEqual "truncate" (truncate 3.1)    3
assertEqual "truncate" (truncate 3.7)    3
assertEqual "truncate" (truncate (-2.2)) (-2)
assertEqual "truncate" (truncate (-2.7)) (-2)

-- assertEqual "sqrt" (sqrt 4) 2
assertEqual "sqrt" (sqrt 4.0) 2.0
-- assertEqual "sqrt" (sqrt (-1)) i

-- assertEqual "exp"
--   [exp 1, exp 1.0, exp (-1.0)]
--   [e, 2.718281828459045, 0.36787944117144233]

-- assertEqual "log"
--   [log e, log 10.0]
--   [1, 2.302585092994046]

-- TODO: trigonometric functions
-- * sin
-- * cos
-- * tan
-- * asin
-- * acos
-- * sinh
-- * cosh
-- * tanh
-- * asinh
-- * acosh
-- * atanh

-- tensorSize
-- tensorToList
-- dfOrder

assertEqual "itof" (itof 4)    4.0
assertEqual "itof" (itof (-1)) (-1.0)

assertEqual "rtof" (rtof (3 / 2)) 1.5
assertEqual "rtof" (rtof 1)       1.0

assertEqual "ctoi" (ctoi '1') 49

assertEqual "itoc" (itoc 49) '1'

assertEqual "pack" (pack []) ""
assertEqual "pack" (pack ['E', 'g', 'i', 's', 'o', 'n']) "Egison"

assertEqual "unpack" (unpack "Egison") ['E', 'g', 'i', 's', 'o', 'n']
assertEqual "unpack" (unpack "") []

assertEqual "unconsString" (unconsString "Egison") ('E', "gison")

assertEqual "lengthString" (lengthString "") 0
assertEqual "lengthString" (lengthString "Egison") 6

assertEqual "appendString" (appendString "" "")       ""
assertEqual "appendString" (appendString "" "Egison") "Egison"
assertEqual "appendString" (appendString "Egison" "") "Egison"
assertEqual "appendString" (appendString "Egi" "son") "Egison"

assertEqual "splitString" (splitString "," "") [""]
assertEqual "splitString" (splitString "," "2,3,5,7,11,13") ["2", "3", "5", "7", "11", "13"]

assertEqual "regex" (regex "cde" "abcdefg") [("ab", "cde", "fg")]
assertEqual "regex" (regex "[0-9]+" "abc123defg") [("abc", "123", "defg")]
assertEqual "regex" (regex "a*" "") [("", "", "")]

assertEqual "regexCg" (regexCg "([0-9]+),([0-9]+)" "abc,123,45,defg") [("abc,", ["123", "45"], ",defg")]

-- addPrime
-- addSubscript
-- addSuperscript
-- readProcess

assertEqual "read" (read "3")                3
assertEqual "read" (read "3.14")             3.14
assertEqual "read" (read "{1 2}")            [1, 2]
assertEqual "read" (read "\"Hello world!\"") "Hello world!"

-- TODO: read-tsv

assertEqual "show" (show 3)              "3"
assertEqual "show" (show 3.14159)        "3.14159"
assertEqual "show" (show [1, 2])         "{1 2}"
assertEqual "show" (show "Hello world!") "\"Hello world!\""

-- TODO: show-tsv

assertEqual "empty?" (empty? [])  True
assertEqual "empty?" (empty? [1]) False

assertEqual "uncons" (uncons [1, 2, 3]) (1, [2, 3])
assertEqual "unsnoc" (unsnoc [1, 2, 3]) ([1, 2], 3)

assertEqual "bool?" (bool? False) True

assertEqual "integer?" (integer? 1) True

assertEqual "rational?" (rational? 1)       True
assertEqual "rational?" (rational? (1 / 2)) True
assertEqual "rational?" (rational? 3.1)     False

assertEqual "scalar?" (scalar? 1) True
assertEqual "scalar?" (scalar? (| 1, 2 |)) False

assertEqual "float?" (float? 1.0) True
assertEqual "float?" (float? 1)   False

assertEqual "char?" (char? 'c') True

assertEqual "string?" (string? "hoge") True

assertEqual "collection?" (collection? []) True
assertEqual "collection?" (collection? [1]) True

assertEqual "array?" (array? (| |)) True
assertEqual "array?" (array? (| 1, 2, 3 |)) True

assertEqual "hash?" (hash? {| |}) True
assertEqual "hash?" (hash? {| [1, 2] |}) True

-- TODO: Add a test case where tensor? returns True
assertEqual "tensor?" (tensor? 1)                           False
assertEqual "tensor?" (tensor? (| 1 |))                     False
assertEqual "tensor?" (tensor? [| 1 |])                     True
assertEqual "tensor?" (tensor? (generateTensor (+) [1, 2])) True

-- TODO: tensorWithIndex?