| var rnd = new Native('java.util.Random'); |
| |
| @test |
| operation allInstancesWorks() { |
| if (Class.all.size <> 6) { |
| 'allInstancesWorks failed!'.println(); |
| } |
| } |
| |
| @test |
| operation failingTest() { |
| if (1 + 1 <> 1) { |
| 'failingTest failed!'.println(); |
| } |
| } |
| |
| @test |
| $times 10 * 10 |
| operation randomTest() { |
| var base = 2 + rnd.nextInt(9); |
| var exp = rnd.nextInt(10); |
| if (slowPow(base, exp) <> fastPow(base, exp)) { |
| 'randomTest failed!'.println(); |
| } |
| } |
| |
| operation fastPow(base, exp) { |
| if (exp == 0) { |
| return 1; |
| } else if (exp == 1) { |
| return base; |
| } else if (exp.mod(2) == 0) { |
| return fastPow(base * base, exp/2); |
| } else { |
| return base * fastPow(base * base, (exp - 1)/2); |
| } |
| } |
| |
| operation slowPow(base, exp) { |
| var result = 1; |
| while (exp >= 1) { |
| result *= base; |
| exp -= 1; |
| } |
| return result; |
| } |