Own-Programming-Language-Tu.../tests.own

59 lines
846 B
Plaintext

use "ounit"
def testAdditionOnNumbers() {
assertEquals(6, 0 + 1 + 2 + 3)
}
def testSubtractionOnNumbers() {
assertEquals(-6, 0 - 1 - 2 - 3)
}
def testPrefixIncrement() {
a = 8
assertEquals(9, ++a)
assertEquals(9, a)
}
def testPostfixIncrement() {
a = 8
assertEquals(8, a++)
assertEquals(9, a)
}
def testStringReversing() {
assertEquals("tset", -"test")
}
def testStringMultiplication() {
assertEquals("******", "*" * 6)
}
def testTypes() {
assertSameType(0, 0.0)
}
/*def testFail() {
assertTrue(false)
}*/
def testScope() {
x = 5
def func() {
assertEquals(5, x)
x += 10
assertEquals(15, x)
}
func();
assertEquals(15, x)
}
def testFibonacci() {
def fib(n) {
if n < 2 return n
return fib(n-2) + fib(n-1)
}
assertEquals(3, fib(4))
assertEquals(21, fib(8))
}
println runTests()