summaryrefslogtreecommitdiff
path: root/pmt/src
diff options
context:
space:
mode:
Diffstat (limited to 'pmt/src')
-rw-r--r--pmt/src/lib/qa_pmt_prims.cc21
-rw-r--r--pmt/src/lib/qa_pmt_prims.h2
2 files changed, 23 insertions, 0 deletions
diff --git a/pmt/src/lib/qa_pmt_prims.cc b/pmt/src/lib/qa_pmt_prims.cc
index 57db4a1a9..39cf9ce46 100644
--- a/pmt/src/lib/qa_pmt_prims.cc
+++ b/pmt/src/lib/qa_pmt_prims.cc
@@ -413,3 +413,24 @@ qa_pmt_prims::test_serialize()
// FIXME add tests for malformed input too.
}
+
+void
+qa_pmt_prims::test_sets()
+{
+ pmt_t s1 = pmt_intern("s1");
+ pmt_t s2 = pmt_intern("s2");
+ pmt_t s3 = pmt_intern("s3");
+
+ pmt_t l1 = pmt_list1(s1);
+ pmt_t l2 = pmt_list2(s2,s3);
+ pmt_t l3 = pmt_list3(s1,s2,s3);
+
+ CPPUNIT_ASSERT(pmt_is_pair(pmt_memq(s1,l1)));
+ CPPUNIT_ASSERT(pmt_is_false(pmt_memq(s3,l1)));
+
+ CPPUNIT_ASSERT(pmt_subsetp(l1,l3));
+ CPPUNIT_ASSERT(pmt_subsetp(l2,l3));
+ CPPUNIT_ASSERT(!pmt_subsetp(l1,l2));
+ CPPUNIT_ASSERT(!pmt_subsetp(l2,l1));
+ CPPUNIT_ASSERT(!pmt_subsetp(l3,l2));
+}
diff --git a/pmt/src/lib/qa_pmt_prims.h b/pmt/src/lib/qa_pmt_prims.h
index 919fc2dca..effb3a097 100644
--- a/pmt/src/lib/qa_pmt_prims.h
+++ b/pmt/src/lib/qa_pmt_prims.h
@@ -42,6 +42,7 @@ class qa_pmt_prims : public CppUnit::TestCase {
CPPUNIT_TEST(test_io);
CPPUNIT_TEST(test_lists);
CPPUNIT_TEST(test_serialize);
+ CPPUNIT_TEST(test_sets);
CPPUNIT_TEST_SUITE_END();
private:
@@ -59,6 +60,7 @@ class qa_pmt_prims : public CppUnit::TestCase {
void test_io();
void test_lists();
void test_serialize();
+ void test_sets();
};
#endif /* INCLUDED_QA_PMT_PRIMS_H */