From: Aina Niemetz Date: Mon, 1 Mar 2021 11:55:20 +0000 (-0800) Subject: google test: util: Migrate integer_white. (#6024) X-Git-Tag: cvc5-1.0.0~2190 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ff3303fb5fc6d9a9c622d347fae5d3579aff278;p=cvc5.git google test: util: Migrate integer_white. (#6024) --- diff --git a/test/unit/util/CMakeLists.txt b/test/unit/util/CMakeLists.txt index a5b71b92d..52719e6f4 100644 --- a/test/unit/util/CMakeLists.txt +++ b/test/unit/util/CMakeLists.txt @@ -25,7 +25,7 @@ if(CVC4_USE_SYMFPU) cvc4_add_cxx_unit_test_black(floatingpoint_black util) endif() cvc4_add_cxx_unit_test_black(integer_black util) -cvc4_add_cxx_unit_test_white(integer_white util) +cvc4_add_unit_test_white(integer_white util) cvc4_add_cxx_unit_test_black(output_black util) cvc4_add_cxx_unit_test_black(rational_black util) cvc4_add_cxx_unit_test_white(rational_white util) diff --git a/test/unit/util/integer_white.cpp b/test/unit/util/integer_white.cpp new file mode 100644 index 000000000..fc302b2d1 --- /dev/null +++ b/test/unit/util/integer_white.cpp @@ -0,0 +1,56 @@ +/********************* */ +/*! \file integer_white.cpp + ** \verbatim + ** Top contributors (to current version): + ** Aina Niemetz, Tim King + ** 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 White box testing of CVC4::Integer. + ** + ** White box testing of CVC4::Integer. + **/ + +#include + +#include "test.h" +#include "util/integer.h" + +namespace CVC4 { +namespace test { + +class TestUtilWhiteInteger : public TestInternal +{ + protected: + static const char* s_large_val; +}; + +const char* TestUtilWhiteInteger::s_large_val = + "4547897890548754897897897897890789078907890"; + +TEST_F(TestUtilWhiteInteger, hash) +{ + Integer large(s_large_val); + Integer zero; + Integer fits_in_2_bytes(55890); + Integer fits_in_16_bytes("7890D789D33234027890D789D3323402", 16); + + ASSERT_NO_THROW(zero.hash()); + ASSERT_NO_THROW(fits_in_2_bytes.hash()); + ASSERT_NO_THROW(fits_in_16_bytes.hash()); + ASSERT_NO_THROW(large.hash()); +} + +/** Make sure we can handle: http://www.ginac.de/CLN/cln_3.html#SEC15 */ +TEST_F(TestUtilWhiteInteger, construction) +{ + const int32_t i = (1 << 29) + 1; + const uint32_t u = (1 << 29) + 1; + ASSERT_EQ(Integer(i), Integer(i)); + ASSERT_EQ(Integer(u), Integer(u)); +} +} // namespace test +} // namespace CVC4 diff --git a/test/unit/util/integer_white.h b/test/unit/util/integer_white.h deleted file mode 100644 index 9ba275672..000000000 --- a/test/unit/util/integer_white.h +++ /dev/null @@ -1,54 +0,0 @@ -/********************* */ -/*! \file integer_white.h - ** \verbatim - ** Top contributors (to current version): - ** Tim King, Morgan Deters - ** 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 White box testing of CVC4::Integer. - ** - ** White box testing of CVC4::Integer. - **/ - -#include -#include - -#include "util/integer.h" - -using namespace CVC4; -using namespace std; - -const char* largeVal = "4547897890548754897897897897890789078907890"; - - -class IntegerWhite : public CxxTest::TestSuite { -public: - - void testHash(){ - Integer large (largeVal); - Integer zero; - Integer fits_in_2_bytes(55890); - Integer fits_in_16_bytes("7890D789D33234027890D789D3323402", 16); - - - TS_ASSERT_THROWS_NOTHING(zero.hash()); - TS_ASSERT_THROWS_NOTHING(fits_in_2_bytes.hash()); - TS_ASSERT_THROWS_NOTHING(fits_in_16_bytes.hash()); - TS_ASSERT_THROWS_NOTHING(large.hash()); - } - - //Make sure we can properly handle: - //http://www.ginac.de/CLN/cln_3.html#SEC15 - void testConstruction(){ - const int i_above2tothe29 = (1 << 29) + 1; - const unsigned int u_above2tothe29 = (1 << 29) + 1; - TS_ASSERT_EQUALS(Integer(i_above2tothe29), Integer((long)i_above2tothe29)); - TS_ASSERT_EQUALS(Integer(u_above2tothe29), - Integer((unsigned long)u_above2tothe29)); - - } -};