mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
54 lines
1.2 KiB
Nim
54 lines
1.2 KiB
Nim
discard """
|
|
output:""
|
|
"""
|
|
|
|
doAssert "@[23, 45]" == $(@[23, 45])
|
|
doAssert "[32, 45]" == $([32, 45])
|
|
doAssert "@[, foo, bar]" == $(@["", "foo", "bar"])
|
|
doAssert "[, foo, bar]" == $(["", "foo", "bar"])
|
|
|
|
# bug #2395
|
|
let alphaSet: set[char] = {'a'..'c'}
|
|
doAssert "{a, b, c}" == $alphaSet
|
|
doAssert "2.3242" == $(2.3242)
|
|
doAssert "2.982" == $(2.982)
|
|
doAssert "123912.1" == $(123912.1)
|
|
doAssert "123912.1823" == $(123912.1823)
|
|
doAssert "5.0" == $(5.0)
|
|
doAssert "1e+100" == $(1e100)
|
|
doAssert "inf" == $(1e1000000)
|
|
doAssert "-inf" == $(-1e1000000)
|
|
doAssert "nan" == $(0.0/0.0)
|
|
|
|
# nil tests
|
|
# maybe a bit inconsistent in types
|
|
var x: seq[string]
|
|
doAssert "nil" == $(x)
|
|
|
|
var y: string = nil
|
|
doAssert nil == $(y)
|
|
|
|
type
|
|
Foo = object
|
|
a: int
|
|
b: string
|
|
|
|
var foo1: Foo
|
|
|
|
# nil string should be an some point in time equal to the empty string
|
|
doAssert(($foo1)[0..9] == "(a: 0, b: ")
|
|
|
|
const
|
|
data = @['a','b', '\0', 'c','d']
|
|
dataStr = $data
|
|
|
|
# ensure same result when on VM or when at program execution
|
|
doAssert dataStr == $data
|
|
|
|
import strutils
|
|
# array test
|
|
|
|
let arr = ['H','e','l','l','o',' ','W','o','r','l','d','!','\0']
|
|
doAssert $arr == "[H, e, l, l, o, , W, o, r, l, d, !, \0]"
|
|
doAssert $cstring(unsafeAddr arr) == "Hello World!"
|