summaryrefslogtreecommitdiff
path: root/test/core/managed/ManagedTest.cpp
diff options
context:
space:
mode:
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"));
+}
+
}