12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- discard """
- action: run
- output: '''[Suite] random int
- [Suite] random float
- [Suite] ^
- '''
- """
- import math, random, os
- import unittest
- import sets
- suite "random int":
- test "there might be some randomness":
- var set = initSet[int](128)
- randomize()
- for i in 1..1000:
- incl(set, random(high(int)))
- check len(set) == 1000
- test "single number bounds work":
- randomize()
- var rand: int
- for i in 1..1000:
- rand = random(1000)
- check rand < 1000
- check rand > -1
- test "slice bounds work":
- randomize()
- var rand: int
- for i in 1..1000:
- rand = random(100..1000)
- check rand < 1000
- check rand >= 100
- test "randomize() again gives new numbers":
- randomize()
- var rand1 = random(1000000)
- os.sleep(200)
- randomize()
- var rand2 = random(1000000)
- check rand1 != rand2
- suite "random float":
- test "there might be some randomness":
- var set = initSet[float](128)
- randomize()
- for i in 1..100:
- incl(set, random(1.0))
- check len(set) == 100
- test "single number bounds work":
- randomize()
- var rand: float
- for i in 1..1000:
- rand = random(1000.0)
- check rand < 1000.0
- check rand > -1.0
- test "slice bounds work":
- randomize()
- var rand: float
- for i in 1..1000:
- rand = random(100.0..1000.0)
- check rand < 1000.0
- check rand >= 100.0
- test "randomize() again gives new numbers":
- randomize()
- var rand1:float = random(1000000.0)
- os.sleep(200)
- randomize()
- var rand2:float = random(1000000.0)
- check rand1 != rand2
- suite "^":
- test "compiles for valid types":
- check: compiles(5 ^ 2)
- check: compiles(5.5 ^ 2)
- check: compiles(5.5 ^ 2.int8)
- check: compiles(5.5 ^ 2.uint)
- check: compiles(5.5 ^ 2.uint8)
- check: not compiles(5.5 ^ 2.2)
|