summaryrefslogtreecommitdiff
path: root/test/core/managed/ManagedTest.cpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-12-15 18:45:01 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-12-15 18:45:01 +0100
commit84cbdcaba520f89eb3ddbdaf1fe2ab3db412501a (patch)
treeca3df3c791834e65479c6b9a8720f8e55150a396 /test/core/managed/ManagedTest.cpp
parentc5d18a42da8e9ed19c9520308fef087f4fb76323 (diff)
Improved ManagedContainer classes
Diffstat (limited to 'test/core/managed/ManagedTest.cpp')
-rw-r--r--test/core/managed/ManagedTest.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/core/managed/ManagedTest.cpp b/test/core/managed/ManagedTest.cpp
index e8a24f2..707aeb9 100644
--- a/test/core/managed/ManagedTest.cpp
+++ b/test/core/managed/ManagedTest.cpp
@@ -16,7 +16,35 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <gtest/gtest.h>
+
+#include <core/managed/Managed.hpp>
+
+#include "TestManaged.hpp"
+
namespace ousia {
+TEST(Managed, data)
+{
+ Manager mgr{1};
+
+ Rooted<Managed> n{new Managed{mgr}};
+
+ Managed *m1 = new Managed{mgr};
+ n->storeData("info", m1);
+ ASSERT_TRUE(n->hasDataKey("info"));
+ ASSERT_FALSE(n->hasDataKey("test"));
+
+ Managed *m2 = new Managed{mgr};
+ n->storeData("test", m2);
+ ASSERT_TRUE(n->hasDataKey("info"));
+ ASSERT_TRUE(n->hasDataKey("test"));
+
+ ASSERT_TRUE(n->deleteData("info"));
+ ASSERT_FALSE(n->deleteData("info"));
+ ASSERT_FALSE(n->hasDataKey("info"));
+ ASSERT_TRUE(n->hasDataKey("test"));
+}
+
}