| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| import "package:expect/expect.dart"; | |
| int zero() { | |
| return 0; | |
| } | |
| int one() { | |
| return 1; | |
| } | |
| int minus1() { | |
| return 0 - 1; | |
| } | |
| int two() { | |
| return 2; | |
| } | |
| int three() { | |
| return 3; | |
| } | |
| int five() { | |
| return 5; | |
| } | |
| int minus5() { | |
| return 0 - 5; | |
| } | |
| int ninetyNine() { | |
| return 99; | |
| } | |
| int four99() { | |
| return 499; | |
| } | |
| int four99times99() { | |
| return 499 * 99; | |
| } | |
| int four99times99plus1() { | |
| return 499 * 99 + 1; | |
| } | |
| void postPlusPlusTest() { | |
| var x = zero(); | |
| var y = x++; | |
| Expect.equals(0, y); | |
| Expect.equals(1, x); | |
| Expect.equals(1, x++); | |
| Expect.equals(2, x); | |
| } | |
| void prePlusPlusTest() { | |
| var x = zero(); | |
| var y = ++x; | |
| Expect.equals(1, x); | |
| Expect.equals(1, y); | |
| Expect.equals(2, ++x); | |
| Expect.equals(2, ++y); | |
| } | |
| void postMinusMinusTest() { | |
| var x = four99(); | |
| var y = x--; | |
| Expect.equals(499, y); | |
| Expect.equals(498, x); | |
| Expect.equals(498, x--); | |
| Expect.equals(497, x); | |
| } | |
| void preMinusMinusTest() { | |
| var x = four99(); | |
| var y = --x; | |
| Expect.equals(498, y); | |
| Expect.equals(498, x); | |
| Expect.equals(497, --x); | |
| Expect.equals(497, x); | |
| } | |
| void main() { | |
| postPlusPlusTest(); | |
| prePlusPlusTest(); | |
| postMinusMinusTest(); | |
| preMinusMinusTest(); | |
| } |