From 25d7580a42fbde01763e3634a6c2f3f7b51438a7 Mon Sep 17 00:00:00 2001
From: eb <eb@221aa14e-8319-0410-a670-987f0aec2ac5>
Date: Wed, 15 Jul 2009 01:23:38 +0000
Subject: Add some unit test for pmt_subsetp and pmt_memq. (c1261 from Stefan
 BrĂ¼ns)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11438 221aa14e-8319-0410-a670-987f0aec2ac5
---
 pmt/src/lib/qa_pmt_prims.cc | 21 +++++++++++++++++++++
 pmt/src/lib/qa_pmt_prims.h  |  2 ++
 2 files changed, 23 insertions(+)

(limited to 'pmt/src')

diff --git a/pmt/src/lib/qa_pmt_prims.cc b/pmt/src/lib/qa_pmt_prims.cc
index 57db4a1a93..39cf9ce46a 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 919fc2dca4..effb3a097a 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 */
-- 
cgit v1.2.3