blob: 1d1edd66703f2e7f48a796e547fea3923f738095 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Created on: 23 juin 2016
*
* Contributors:
* Stephane Salmons (CEA LIST) stephane.salmons@gmail.com
* - Initial API and Implementation
******************************************************************************/
#include <iostream>
#include "boost/test/unit_test.hpp"
#include "fml/numeric/Float.h"
#include "util/avm_numeric.h"
using namespace std;
using namespace sep;
BOOST_AUTO_TEST_SUITE (FML);
BOOST_AUTO_TEST_CASE (t_float_ctor) {
Float F("123456789123456789123456789123456789");
}
BOOST_AUTO_TEST_CASE (t_float_big) {
Float F("123456789123456789123456789123456789");
BOOST_CHECK_MESSAGE("123456789123456789123456789123456789" == F.str(), F.str() << " is not " << "123456789123456789123456789123456789");
BOOST_CHECK (! F.isInt32());
BOOST_CHECK (! F.isInt64());
BOOST_CHECK (! F.isInteger());
BOOST_CHECK (! F.isPosInteger());
}
BOOST_AUTO_TEST_CASE (t_float_maxuint) {
Float F(AVM_NUMERIC_MAX_UINT);
BOOST_CHECK ( F.isInt32());
BOOST_CHECK ( F.isInt64());
BOOST_CHECK ( F.isInteger());
BOOST_CHECK (! F.isPosInteger());
}
BOOST_AUTO_TEST_CASE (t_float_maxlong) {
Float F(AVM_NUMERIC_MAX_LONG);
BOOST_CHECK ( F.isInt32());
BOOST_CHECK ( F.isInt64());
BOOST_CHECK ( F.isInteger());
BOOST_CHECK ( F.isPosInteger());
}
BOOST_AUTO_TEST_SUITE_END(); // FML