summaryrefslogtreecommitdiff
path: root/test/core/model/CardinalityTest.cpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-17 14:52:58 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2014-12-17 14:52:58 +0100
commit3e124a41f14fa3a76febba09f4b58b3f5361efdb (patch)
tree51fb85a870fca3a945e399dcf1a09038ae3f02be /test/core/model/CardinalityTest.cpp
parent6dd18a83a1f2c89c5bca435090c80d72cb8716e3 (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/core/model/CardinalityTest.cpp')
-rw-r--r--test/core/model/CardinalityTest.cpp112
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);
- }
-}
-}
-}