// Copyright (c) 2012, 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.

// We temporarily test both the new math library and the old Math
// class. This can easily be simplified once we get rid of the Math
// class entirely.
library math_parse_double_test;

import "package:expect/expect.dart";

void parseDoubleThrowsFormatException(str) {
  Expect.throwsFormatException(() => double.parse(str));
}

void runTest(double expected, String input) {
  Expect.equals(expected, double.parse(input));
  Expect.equals(expected, double.parse(" $input "));
  Expect.equals(expected, double.parse(" $input"));
  Expect.equals(expected, double.parse("$input "));
  Expect.equals(expected, double.parse("+$input"));
  Expect.equals(expected, double.parse(" +$input "));
  Expect.equals(expected, double.parse("+$input "));
  Expect.equals(expected, double.parse("\xA0 $input\xA0 "));
  Expect.equals(expected, double.parse(" \xA0$input"));
  Expect.equals(expected, double.parse("$input \xA0"));
  Expect.equals(expected, double.parse("\xA0 +$input\xA0 "));
  Expect.equals(expected, double.parse("+$input\xA0 "));
  Expect.equals(expected, double.parse("\u205F $input\u205F "));
  Expect.equals(expected, double.parse("$input \u2006"));
  Expect.equals(expected, double.parse("\u1680 +$input\u1680 "));
  Expect.equals(-expected, double.parse("-$input"));
  Expect.equals(-expected, double.parse(" -$input "));
  Expect.equals(-expected, double.parse("-$input "));
  Expect.equals(-expected, double.parse("\xA0 -$input\xA0 "));
  Expect.equals(-expected, double.parse("-$input\xA0 "));
  Expect.equals(-expected, double.parse("\u1680 -$input\u1680 "));
}

final TESTS = [
  [499.0, "499"],
  [499.0, "499."],
  [499.0, "499.0"],
  [0.0, "0"],
  [0.0, ".0"],
  [0.0, "0."],
  [0.1, "0.1"],
  [0.1, ".1"],
  [10.0, "010"],
  [1.5, "1.5"],
  [1.5, "001.5"],
  [1.5, "1.500"],
  [1234567.89, "1234567.89"],
  [1234567e89, "1234567e89"],
  [1234567.89e2, "1234567.89e2"],
  [1234567.89e2, "1234567.89e+2"],
  [1234567.89e-2, "1234567.89e-2"],
  [5.0, "5"],
  [123456700.0, "1234567.e2"],
  [123456700.0, "1234567.e+2"],
  [double.infinity, "Infinity"],
  [5e-324, "5e-324"], // min-pos.
  // Same, without exponential.
  [
    0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625,
    "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625"
  ],
  [0.0, "2e-324"], // underflow 0.0
  [0.9999999999999999, "0.9999999999999999"], // max below 1
  [1.0, "1.00000000000000005"], // 1.0
  [1.0000000000000002, "1.0000000000000002"], // min above 1
  [2147483647.0, "2147483647"], // max int32
  [2147483647.0000002, "2147483647.0000002"], // min not int32
  [2147483648.0, "2147483648"], // min int not int32
  [4295967295.0, "4295967295"], // max uint32
  [4295967295.000001, "4295967295.000001"], // min not uint-32
  [4295967296.0, "4295967296"], // min int not-uint32
  [1.7976931348623157e+308, "1.7976931348623157e+308"], // Max finite
  [1.7976931348623157e+308, "1.7976931348623158e+308"], // Max finite
  [double.infinity, "1.7976931348623159e+308"], // Infinity
  [.049999999999999994, ".049999999999999994"], // not 0.5
  [.05, ".04999999999999999935"],
  [4503599627370498.0, "4503599627370497.5"],
  [1.2345678901234568e+39, "1234567890123456898981341324213421342134"],
  [9.87291183742987e+24, "9872911837429871193379121"],
  [1e21, "1e+21"],
];

void main() {
  for (var test in TESTS) {
    runTest(test[0], test[1]);
  }

  Expect.equals(true, double.parse("-0").isNegative);
  Expect.equals(true, double.parse("   -0   ").isNegative);
  Expect.equals(true, double.parse("\xA0   -0   \xA0").isNegative);
  Expect.isTrue(double.parse("NaN").isNaN);
  Expect.isTrue(double.parse("-NaN").isNaN);
  Expect.isTrue(double.parse("+NaN").isNaN);
  Expect.isTrue(double.parse("NaN ").isNaN);
  Expect.isTrue(double.parse("-NaN ").isNaN);
  Expect.isTrue(double.parse("+NaN ").isNaN);
  Expect.isTrue(double.parse(" NaN ").isNaN);
  Expect.isTrue(double.parse(" -NaN ").isNaN);
  Expect.isTrue(double.parse(" +NaN ").isNaN);
  Expect.isTrue(double.parse(" NaN").isNaN);
  Expect.isTrue(double.parse(" -NaN").isNaN);
  Expect.isTrue(double.parse(" +NaN").isNaN);
  Expect.isTrue(double.parse("NaN\xA0").isNaN);
  Expect.isTrue(double.parse("-NaN\xA0").isNaN);
  Expect.isTrue(double.parse("+NaN\xA0").isNaN);
  Expect.isTrue(double.parse(" \xA0NaN\xA0").isNaN);
  Expect.isTrue(double.parse(" \xA0-NaN\xA0").isNaN);
  Expect.isTrue(double.parse(" \xA0+NaN\xA0").isNaN);
  Expect.isTrue(double.parse(" \xA0NaN").isNaN);
  Expect.isTrue(double.parse(" \xA0-NaN").isNaN);
  Expect.isTrue(double.parse(" \xA0+NaN").isNaN);

  parseDoubleThrowsFormatException("1b");
  parseDoubleThrowsFormatException(" 1b ");
  parseDoubleThrowsFormatException(" 1 b ");
  parseDoubleThrowsFormatException(" e3 ");
  parseDoubleThrowsFormatException(" .e3 ");
  parseDoubleThrowsFormatException("00x12");
  parseDoubleThrowsFormatException(" 00x12 ");
  parseDoubleThrowsFormatException("-1b");
  parseDoubleThrowsFormatException(" -1b ");
  parseDoubleThrowsFormatException(" -1 b ");
  parseDoubleThrowsFormatException("-00x12");
  parseDoubleThrowsFormatException(" -00x12 ");
  parseDoubleThrowsFormatException("  -00x12 ");
  parseDoubleThrowsFormatException("0x0x12");
  parseDoubleThrowsFormatException("+ 1.5");
  parseDoubleThrowsFormatException("- 1.5");
  parseDoubleThrowsFormatException("");
  parseDoubleThrowsFormatException("   ");
  parseDoubleThrowsFormatException("+0x1234567890");
  parseDoubleThrowsFormatException("   +0x1234567890   ");
  parseDoubleThrowsFormatException("   +0x100   ");
  parseDoubleThrowsFormatException("+0x100");
  parseDoubleThrowsFormatException("0x1234567890");
  parseDoubleThrowsFormatException("-0x1234567890");
  parseDoubleThrowsFormatException("   0x1234567890   ");
  parseDoubleThrowsFormatException("   -0x1234567890   ");
  parseDoubleThrowsFormatException("0x100");
  parseDoubleThrowsFormatException("-0x100");
  parseDoubleThrowsFormatException("   0x100   ");
  parseDoubleThrowsFormatException("   -0x100   ");
  parseDoubleThrowsFormatException("0xabcdef");
  parseDoubleThrowsFormatException("0xABCDEF");
  parseDoubleThrowsFormatException("0xabCDEf");
  parseDoubleThrowsFormatException("-0xabcdef");
  parseDoubleThrowsFormatException("-0xABCDEF");
  parseDoubleThrowsFormatException("   0xabcdef   ");
  parseDoubleThrowsFormatException("   0xABCDEF   ");
  parseDoubleThrowsFormatException("   -0xabcdef   ");
  parseDoubleThrowsFormatException("   -0xABCDEF   ");
  parseDoubleThrowsFormatException("0x00000abcdef");
  parseDoubleThrowsFormatException("0x00000ABCDEF");
  parseDoubleThrowsFormatException("-0x00000abcdef");
  parseDoubleThrowsFormatException("-0x00000ABCDEF");
  parseDoubleThrowsFormatException("   0x00000abcdef   ");
  parseDoubleThrowsFormatException("   0x00000ABCDEF   ");
  parseDoubleThrowsFormatException("   -0x00000abcdef   ");
  parseDoubleThrowsFormatException("   -0x00000ABCDEF   ");
  parseDoubleThrowsFormatException("   -INFINITY   ");
  parseDoubleThrowsFormatException("   NAN   ");
  parseDoubleThrowsFormatException("   inf   ");
  parseDoubleThrowsFormatException("   nan   ");
}
