blob: a0cba15c29a02d7a3a039ad77dd187764ef02340 [file] [log] [blame]
/*
* 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.
*/
/**
* @assertion A numeric literal is either a decimal or hexadecimal integer of
* arbitrary size, or a decimal double.
*
* numericLiteral:
* NUMBER|
* HEX_NUMBER
*;
* NUMBER:
* DIGIT+ ('.' DIGIT+)? EXPONENT? |
* '.' DIGIT+ EXPONENT?
* ;
* EXPONENT:
* ('e' | 'E') ('+' | '-')? DIGIT+
* ;
* HEX NUMBER:
* '0x' HEX DIGIT+ |
* '0X' HEX DIGIT+
* ;
* HEX DIGIT:
* 'a'..'f' |
* 'A'..'F' |
* DIGIT
* ;
* @description Checks different decimal numeric literals with decimal point
* but no exponent.
* @author hlodvig
*/
import '../../../Utils/expect.dart';
void check(i, expected) {
Expect.isTrue(i is num);
Expect.isTrue(expected is num);
Expect.equals(expected, i);
}
main() {
check(-0.0, -0);
check(1.0, 1);
check(-2.0, -2);
check(3.0, 3);
check(-4.0, -4);
check(5.0, 5);
check(-6.0, -6);
check(7.0, 7);
check(-8.0,-8);
check(9.0, 9);
check(-0.0, -0);
check(1.1, 1.1);
check(-2.2, -2.2);
check(3.3, 3.3);
check(-4.4, -4.4);
check(5.5, 5.5);
check(-6.6, -6.6);
check(7.7, 7.7);
check(-8.8, -8.8);
check(9.9, 9.9);
check(-.0, -0);
check(.1, 0.1);
check(-.2, -0.2);
check(.3, 0.3);
check(-.4, -0.4);
check(.5, 0.5);
check(-.6, -0.6);
check(.7, 0.7);
check(-.8, -0.8);
check(.9, 0.9);
}