]> granicus.if.org Git - transmission/commitdiff
Add bitfield test for has all/none
authorMike Gelfand <mikedld@mikedld.com>
Fri, 8 Jan 2016 11:12:22 +0000 (11:12 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Fri, 8 Jan 2016 11:12:22 +0000 (11:12 +0000)
libtransmission/bitfield-test.c
libtransmission/quark-test.c

index b9cbe243b5ce890cf1c5a8bfb6eded2fb3581af8..7d05e2e99abcda6ad11a61ebd20e23b0917a411f 100644 (file)
@@ -125,12 +125,71 @@ test_bitfields (void)
   return 0;
 }
 
+static int
+test_bitfield_has_all_none (void)
+{
+  tr_bitfield field;
+
+  tr_bitfieldConstruct (&field, 3);
+
+  check (!tr_bitfieldHasAll (&field));
+  check (tr_bitfieldHasNone (&field));
+
+  tr_bitfieldAdd (&field, 0);
+  check (!tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldRem (&field, 0);
+  tr_bitfieldAdd (&field, 1);
+  check (!tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldRem (&field, 1);
+  tr_bitfieldAdd (&field, 2);
+  check (!tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldAdd (&field, 0);
+  tr_bitfieldAdd (&field, 1);
+  check (tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldSetHasNone (&field);
+  check (!tr_bitfieldHasAll (&field));
+  check (tr_bitfieldHasNone (&field));
+
+  tr_bitfieldSetHasAll (&field);
+  check (tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldDestruct (&field);
+  tr_bitfieldConstruct (&field, 0);
+
+  check (!tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldSetHasNone (&field);
+  check (!tr_bitfieldHasAll (&field));
+  check (tr_bitfieldHasNone (&field));
+
+  tr_bitfieldSetHasAll (&field);
+  check (tr_bitfieldHasAll (&field));
+  check (!tr_bitfieldHasNone (&field));
+
+  tr_bitfieldDestruct (&field);
+  return 0;
+}
+
 int
 main (void)
 {
   int l;
   int ret;
-  const testFunc tests[] = { test_bitfields };
+  const testFunc tests[] =
+    {
+      test_bitfields,
+      test_bitfield_has_all_none
+    };
 
   if ((ret = runTests (tests, NUM_TESTS (tests))))
     return ret;
index 1908aa72611df408e7d61b9cfc1d31f1259b349a..a189db5f6c4a062cde2ed401b7c2a4dccd82b516 100644 (file)
@@ -17,7 +17,6 @@ static int
 test_static_quarks (void)
 {
   int i;
-  tr_quark q1, q2;
 
   for (i=0; i<TR_N_KEYS; i++)
     {