diff --git a/src/test/.gitignore b/src/test/.gitignore
index 55db6d7..9c938e1 100644
--- a/src/test/.gitignore
+++ b/src/test/.gitignore
@@ -11,3 +11,5 @@
 /callbackgentest
 /callbackgroupgentest.hpp
 /callbackgroupgentest
+/conditiongentest.hpp
+/conditiongentest
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
index 893f264..324eec7 100644
--- a/src/test/Makefile.am
+++ b/src/test/Makefile.am
@@ -154,3 +154,28 @@
 		-d yaml/callbackgroupgentest \
 		-o $(builddir)/$@ \
 		generate-cpp
+
+check_PROGRAMS += conditiongentest
+conditiongentest_SOURCES = \
+	conditiongentest.cpp
+conditiongentest_CXXFLAGS = \
+	$(gtest_cflags)
+conditiongentest_LDFLAGS = \
+	$(OESDK_TESTCASE_FLAGS)
+conditiongentest_LDADD = \
+	${gtest_ldadd}
+
+BUILT_SOURCES += conditiongentest.hpp
+CLEANFILES += conditiongentest.hpp
+
+CONDITION_TEST_GEN_DEPS = \
+	templates/conditiongentest.mako.hpp \
+	yaml/conditiongentest
+
+conditiongentest.hpp: $(CONDITION_TEST_GEN_DEPS)
+	$(AM_V_GEN) $(PYTHON) $(PDMGEN) \
+		-t conditiongentest.mako.hpp \
+		-p "${TEMPLATESEARCH}" \
+		-d yaml/conditiongentest \
+		-o $(builddir)/$@ \
+		generate-cpp
diff --git a/src/test/conditiongentest.cpp b/src/test/conditiongentest.cpp
new file mode 100644
index 0000000..76ea608
--- /dev/null
+++ b/src/test/conditiongentest.cpp
@@ -0,0 +1,54 @@
+#include <array>
+#include <string>
+#include <gtest/gtest.h>
+#include "data_types.hpp"
+
+using namespace phosphor::dbus::monitoring;
+
+#include "conditiongentest.hpp"
+
+const std::array<std::vector<size_t>, 2> expectedGroups =
+{
+    {
+        {0},
+        {1},
+    }
+};
+
+const std::array<size_t, 4> expectedCallbacks =
+{
+    0,
+    0,
+    1,
+    1,
+};
+
+TEST(ConditionGenTest, GroupsSameSize)
+{
+    ASSERT_EQ(sizeof(expectedGroups), sizeof(groups));
+}
+
+TEST(ConditionGenTest, CallbacksSameSize)
+{
+    ASSERT_EQ(sizeof(expectedGroups), sizeof(groups));
+}
+
+TEST(ConditionGenTest, GroupsSameContent)
+{
+    size_t i;
+    for (i = 0; i < expectedGroups.size(); ++i)
+    {
+        ASSERT_EQ(groups[i],
+                  expectedGroups[i]);
+    }
+}
+
+TEST(ConditionGenTest, CallbacksSameContent)
+{
+    size_t i;
+    for (i = 0; i < expectedCallbacks.size(); ++i)
+    {
+        ASSERT_EQ(callbacks[i],
+                  expectedCallbacks[i]);
+    }
+}
diff --git a/src/test/templates/conditiongentest.mako.hpp b/src/test/templates/conditiongentest.mako.hpp
new file mode 100644
index 0000000..d3267bb
--- /dev/null
+++ b/src/test/templates/conditiongentest.mako.hpp
@@ -0,0 +1,12 @@
+const std::array<std::vector<size_t>, ${len(callbackgroups)}> groups = {{
+% for g in callbackgroups:
+    {${', '.join([str(x) for x in g.members])}},
+% endfor
+}};
+
+<% graphs = [ x for x in callbacks if hasattr(x, 'graph')] %>\
+const std::array<size_t, ${len(graphs)}> callbacks = {
+% for g in graphs:
+    ${g.graph},
+% endfor
+};
diff --git a/src/test/yaml/conditiongentest/test.yaml b/src/test/yaml/conditiongentest/test.yaml
new file mode 100644
index 0000000..0444d55
--- /dev/null
+++ b/src/test/yaml/conditiongentest/test.yaml
@@ -0,0 +1,95 @@
+# Validate condition callback rendering.
+
+- name: test path group 1
+  class: group
+  group: path
+  members:
+    - meta: path
+      path: /xyz/openbmc_project/testing/inst4
+
+- name: test path group 2
+  class: group
+  group: path
+  members:
+    - meta: path
+      path: /xyz/openbmc_project/testing/inst4
+    - meta: path
+      path: /xyz/openbmc_project/testing/inst6
+
+- name: test property group 1
+  class: group
+  group: property
+  type: int32
+  members:
+    - interface: xyz.openbmc_project.Sensor.Iface1
+      meta: property
+      property: Value
+
+- name: test property group 2
+  class: group
+  group: property
+  type: string
+  members:
+    - interface: xyz.openbmc_project.Sensor.Iface3
+      meta: property
+      property: Value2
+
+- name: test count condition 1
+  class: condition
+  condition: count
+  paths: test path group 1
+  properties: test property group 1
+  callback: test journal callback 1
+  countop: '>='
+  countbound: 3
+  op: '>='
+  bound: 115
+
+- name: test count condition 2
+  class: condition
+  condition: count
+  paths: test path group 1
+  properties: test property group 1
+  callback: test journal callback 1
+  countop: '>='
+  countbound: 3
+  op: '>='
+  bound: 115
+
+- name: test journal callback 1
+  class: callback
+  callback: journal
+  paths: test path group 1
+  properties: test property group 1
+  severity: INFO
+  message: Hello world from PDM!
+
+- name: test count condition 3
+  class: condition
+  condition: count
+  paths: test path group 1
+  properties: test property group 1
+  callback: test journal callback 2
+  countop: '>='
+  countbound: 3
+  op: '>='
+  bound: 115
+
+- name: test count condition 4
+  class: condition
+  condition: count
+  paths: test path group 1
+  properties: test property group 1
+  callback: test journal callback 2
+  countop: '>='
+  countbound: 3
+  op: '>='
+  bound: 115
+
+- name: test journal callback 2
+  class: callback
+  callback: journal
+  paths: test path group 1
+  properties: test property group 1
+  severity: INFO
+  message: Hello world from PDM!
