From: Aina Niemetz Date: Mon, 1 Mar 2021 15:08:33 +0000 (-0800) Subject: google test: util: Migrate rational_black. (#6026) X-Git-Tag: cvc5-1.0.0~2183 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0c52c1e8ed4a3d03c82f23349a7062eea9cd14a1;p=cvc5.git google test: util: Migrate rational_black. (#6026) --- diff --git a/test/unit/util/CMakeLists.txt b/test/unit/util/CMakeLists.txt index 36def716d..7d4ad6825 100644 --- a/test/unit/util/CMakeLists.txt +++ b/test/unit/util/CMakeLists.txt @@ -27,7 +27,7 @@ endif() cvc4_add_unit_test_black(integer_black util) cvc4_add_unit_test_white(integer_white util) cvc4_add_unit_test_black(output_black util) -cvc4_add_cxx_unit_test_black(rational_black util) +cvc4_add_unit_test_black(rational_black util) cvc4_add_cxx_unit_test_white(rational_white util) if(CVC4_USE_POLY_IMP) cvc4_add_cxx_unit_test_black(real_algebraic_number_black util) diff --git a/test/unit/util/rational_black.cpp b/test/unit/util/rational_black.cpp new file mode 100644 index 000000000..5a65eaee6 --- /dev/null +++ b/test/unit/util/rational_black.cpp @@ -0,0 +1,47 @@ +/********************* */ +/*! \file rational_black.cpp + ** \verbatim + ** Top contributors (to current version): + ** Aina Niemetz + ** This file is part of the CVC4 project. + ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS + ** in the top-level source directory and their institutional affiliations. + ** All rights reserved. See the file COPYING in the top-level source + ** directory for licensing information.\endverbatim + ** + ** \brief Black box testing of CVC4::Rational. + ** + ** Black box testing of CVC4::Rational. + **/ + +#include + +#include "test.h" +#include "util/rational.h" + +namespace CVC4 { +namespace test { + +class TestUtilBlackRational : public TestInternal +{ +}; + +TEST_F(TestUtilBlackRational, fromDecimal) +{ + ASSERT_EQ(Rational(0, 1), Rational::fromDecimal("0")); + ASSERT_EQ(Rational(1, 1), Rational::fromDecimal("1")); + ASSERT_EQ(Rational(-1, 1), Rational::fromDecimal("-1")); + ASSERT_EQ(Rational(3, 2), Rational::fromDecimal("1.5")); + ASSERT_EQ(Rational(-3, 2), Rational::fromDecimal("-1.5")); + ASSERT_EQ(Rational(7, 10), Rational::fromDecimal(".7")); + ASSERT_EQ(Rational(-7, 10), Rational::fromDecimal("-.7")); + ASSERT_EQ(Rational(5, 1), Rational::fromDecimal("5.")); + ASSERT_EQ(Rational(-5, 1), Rational::fromDecimal("-5.")); + ASSERT_EQ(Rational(12345, 100), Rational::fromDecimal("123.45")); + + ASSERT_THROW(Rational::fromDecimal("1.2.3");, std::invalid_argument); + ASSERT_THROW(Rational::fromDecimal("1.2/3");, std::invalid_argument); + ASSERT_THROW(Rational::fromDecimal("Hello, world!");, std::invalid_argument); +} +} // namespace test +} // namespace CVC4 diff --git a/test/unit/util/rational_black.h b/test/unit/util/rational_black.h deleted file mode 100644 index 3592bd31d..000000000 --- a/test/unit/util/rational_black.h +++ /dev/null @@ -1,47 +0,0 @@ -/********************* */ -/*! \file rational_black.h - ** \verbatim - ** Top contributors (to current version): - ** Christopher L. Conway - ** This file is part of the CVC4 project. - ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS - ** in the top-level source directory and their institutional affiliations. - ** All rights reserved. See the file COPYING in the top-level source - ** directory for licensing information.\endverbatim - ** - ** \brief Black box testing of CVC4::Rational. - ** - ** Black box testing of CVC4::Rational. - **/ - -#include -#include - -#include "util/rational.h" - -using namespace CVC4; -using namespace std; - -const char* canReduce = "4547897890548754897897897897890789078907890/54878902347890234"; - -class RationalBlack : public CxxTest::TestSuite { -public: - - void testFromDecimal() { - TS_ASSERT_EQUALS( Rational(0,1), Rational::fromDecimal("0") ); - TS_ASSERT_EQUALS( Rational(1,1), Rational::fromDecimal("1") ); - TS_ASSERT_EQUALS( Rational(-1,1), Rational::fromDecimal("-1") ); - TS_ASSERT_EQUALS( Rational(3,2), Rational::fromDecimal("1.5") ); - TS_ASSERT_EQUALS( Rational(-3,2), Rational::fromDecimal("-1.5") ); - TS_ASSERT_EQUALS( Rational(7,10), Rational::fromDecimal(".7") ); - TS_ASSERT_EQUALS( Rational(-7,10), Rational::fromDecimal("-.7") ); - TS_ASSERT_EQUALS( Rational(5,1), Rational::fromDecimal("5.") ); - TS_ASSERT_EQUALS( Rational(-5,1), Rational::fromDecimal("-5.") ); - TS_ASSERT_EQUALS( Rational(12345,100), Rational::fromDecimal("123.45") ); - - TS_ASSERT_THROWS( Rational::fromDecimal("1.2.3");, const std::invalid_argument& ); - TS_ASSERT_THROWS( Rational::fromDecimal("1.2/3");, const std::invalid_argument& ); - TS_ASSERT_THROWS( Rational::fromDecimal("Hello, world!");, const std::invalid_argument& ); - } - -};