diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-17 14:52:58 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-17 14:52:58 +0100 |
commit | 3e124a41f14fa3a76febba09f4b58b3f5361efdb (patch) | |
tree | 51fb85a870fca3a945e399dcf1a09038ae3f02be /test | |
parent | 6dd18a83a1f2c89c5bca435090c80d72cb8716e3 (diff) |
noticed that Andreas did already implement Cardinality in form of the RangeSet. Removed my own attempts at programming the Cardinality and used his code.
Diffstat (limited to 'test')
-rw-r--r-- | test/core/model/CardinalityTest.cpp | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/test/core/model/CardinalityTest.cpp b/test/core/model/CardinalityTest.cpp deleted file mode 100644 index 34fa272..0000000 --- a/test/core/model/CardinalityTest.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* - Ousía - Copyright (C) 2014, 2015 Benjamin Paaßen, Andreas Stöckel - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <gtest/gtest.h> - -#include <core/model/Cardinality.hpp> - -namespace ousia { -namespace model { -TEST(Cardinality, testCardinalities) -{ - // Start with the elementary Cardinalities. - { - SingleCardinality c{1}; - for (size_t s = 0; s < 100; s++) { - if (s != 1) { - ASSERT_FALSE(c.permits(s)); - } else { - ASSERT_TRUE(c.permits(s)); - } - } - } - - { - OpenRangeCardinality c{4}; - for (size_t s = 0; s < 100; s++) { - if (s < 4) { - ASSERT_FALSE(c.permits(s)); - } else { - ASSERT_TRUE(c.permits(s)); - } - } - } - - { - RangeCardinality c{1, 10}; - for (size_t s = 0; s < 100; s++) { - if (s < 1 || s > 10) { - ASSERT_FALSE(c.permits(s)); - } else { - ASSERT_TRUE(c.permits(s)); - } - } - } - - // Then construct more complex ones as unions. - - { - UnionCardinality c = - unite(SingleCardinality(1), - unite(RangeCardinality(4, 6), OpenRangeCardinality(16))); - for (size_t s = 0; s < 100; s++) { - if (s < 1 || (s > 1 && s < 4) || (s > 6 && s < 16)) { - ASSERT_FALSE(c.permits(s)); - } else { - ASSERT_TRUE(c.permits(s)); - } - } - } -} - -TEST(Cardinality, testEquals) -{ - { - SingleCardinality a{1}; - SingleCardinality b{2}; - OpenRangeCardinality c{1}; - - ASSERT_EQ(a, a); - ASSERT_EQ(SingleCardinality(1), a); - ASSERT_EQ(b, b); - ASSERT_EQ(c, c); - - ASSERT_FALSE(a == b); - ASSERT_FALSE(b == c); - ASSERT_FALSE(a == c); - } - - { - RangeCardinality a{1, 1}; - RangeCardinality b{1, 2}; - RangeCardinality c{2, 2}; - - ASSERT_EQ(a, a); - ASSERT_EQ(RangeCardinality(1, 1), a); - ASSERT_EQ(b, b); - ASSERT_EQ(c, c); - - ASSERT_FALSE(a == b); - // TODO: Here the semantics break down. It should be equal, in fact. - ASSERT_FALSE(a == SingleCardinality(1)); - ASSERT_FALSE(b == c); - ASSERT_FALSE(a == c); - } -} -} -} |