Browse Source

[4097a] Added a ClientClasses iteration unit test

Francis Dupont 9 years ago
parent
commit
92b4df9e90
1 changed files with 31 additions and 1 deletions
  1. 31 1
      src/lib/dhcp/tests/classify_unittest.cc

+ 31 - 1
src/lib/dhcp/tests/classify_unittest.cc

@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2014 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2015 Internet Systems Consortium, Inc. ("ISC")
 //
 // Permission to use, copy, modify, and/or distribute this software for any
 // purpose with or without fee is hereby granted, provided that the above
@@ -85,3 +85,33 @@ TEST(ClassifyTest, ClientClassesFromString) {
         EXPECT_TRUE(classes.empty());
     }
 }
+
+// Check if one can iterate over a ClientClasses object
+TEST(ClassifyTest, ClientClassesIterator) {
+    ClientClasses classes("alpha, beta, gamma");
+    size_t count = 0;
+    bool seenalpha = false;
+    bool seenbeta = false;
+    bool seengamma = false;
+    bool seendelta = false;
+    for (ClientClasses::const_iterator it = classes.begin();
+         it != classes.end(); ++it) {
+        ++count;
+        if (*it == "alpha") {
+            seenalpha = true;
+        } else if (*it == "beta") {
+            seenbeta = true;
+        } else if (*it == "gamma") {
+            seengamma = true;
+        } else if (*it == "delta") {
+            seendelta = true;
+        } else {
+            ADD_FAILURE() << "Got unexpected " << *it;
+        }
+    }
+    EXPECT_EQ(count, classes.size());
+    EXPECT_TRUE(seenalpha);
+    EXPECT_TRUE(seenbeta);
+    EXPECT_TRUE(seengamma);
+    EXPECT_FALSE(seendelta);
+}