=== modified file 'pmt/src/lib/qa_pmt_prims.cc' --- pmt/src/lib/qa_pmt_prims.cc 2008-04-30 02:52:31 +0000 +++ pmt/src/lib/qa_pmt_prims.cc 2009-01-30 16:45:49 +0000 @@ -413,3 +413,24 @@ // 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)); +} === modified file 'pmt/src/lib/qa_pmt_prims.h' --- pmt/src/lib/qa_pmt_prims.h 2008-04-30 02:52:31 +0000 +++ pmt/src/lib/qa_pmt_prims.h 2009-01-30 16:45:49 +0000 @@ -42,6 +42,7 @@ 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 @@ void test_io(); void test_lists(); void test_serialize(); + void test_sets(); }; #endif /* INCLUDED_QA_PMT_PRIMS_H */