// 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 Returns true if the value represented by this int object is a NaN.
/// @description Checks that this method returns correct value (which is false
/// for any integer this type's value range does not include NaNs).
/// @author vasya
/// @author msyabro

import "../../../Utils/expect.dart";

main() {
  for (var i = -1000; i <= 1000; i++){
    Expect.isFalse(i.isNaN);
  }

  Expect.isFalse(9007199254740991.isNaN);
  Expect.isFalse((-9007199254740991).isNaN);
}
