Add basic grouping to Options
[alexxy/gromacs.git] / src / gromacs / commandline / tests / cmdlinehelpwriter.cpp
index 886b0b0d18f8f95168d2b8cdb6d0a294c2eda5db..49b674c699d0ae0242f702b12cea205b92eab7bf 100644 (file)
@@ -246,6 +246,25 @@ TEST_F(CommandLineHelpWriterTest, HandlesSelectionOptions)
 }
 #endif
 
+/*
+ * Tests help output with option groups.
+ */
+TEST_F(CommandLineHelpWriterTest, HandlesOptionGroups)
+{
+    using gmx::IntegerOption;
+
+    gmx::Options            options(NULL, NULL);
+    gmx::IOptionsContainer &group1 = options.addGroup();
+    gmx::IOptionsContainer &group2 = options.addGroup();
+    group2.addOption(IntegerOption("sub2").description("Option in group 2"));
+    group1.addOption(IntegerOption("sub11").description("Option in group 1"));
+    options.addOption(IntegerOption("main").description("Option in root group"));
+    group1.addOption(IntegerOption("sub12").description("Option in group 1"));
+
+    gmx::CommandLineHelpWriter writer(options);
+    checkHelp(&writer);
+}
+
 /*
  * Tests help output using a help text.
  */