Sort all includes in src/gromacs
[alexxy/gromacs.git] / src / gromacs / commandline / tests / cmdlinehelpwriter.cpp
index a211134ef7f461eeb0e57b0d2f8e25bf4ab89232..a545dcc835556abd1b4c2bfaf3883ed2c7c55bf7 100644 (file)
@@ -1,10 +1,10 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
- * David van der Spoel, Berk Hess, Erik Lindahl, and including many
- * others, as listed in the AUTHORS file in the top-level source
- * directory and at http://www.gromacs.org.
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
  *
  * GROMACS is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
  * \author Teemu Murtola <teemu.murtola@gmail.com>
  * \ingroup module_commandline
  */
-#include <gtest/gtest.h>
-
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gmxpre.h"
 
 #include "gromacs/commandline/cmdlinehelpwriter.h"
-#include "gromacs/onlinehelp/helpwritercontext.h"
+
+#include <gtest/gtest.h>
+
+#include "gromacs/commandline/cmdlinehelpcontext.h"
+#include "gromacs/math/vectypes.h"
 #include "gromacs/options/basicoptions.h"
 #include "gromacs/options/filenameoption.h"
 #include "gromacs/options/options.h"
-#include "gromacs/selection/selectioncollection.h"
-#include "gromacs/selection/selectionfileoption.h"
-#include "gromacs/selection/selectionoption.h"
-#include "gromacs/selection/selectionoptionmanager.h"
 #include "gromacs/utility/file.h"
 
 #include "testutils/stringtest.h"
@@ -69,16 +67,20 @@ namespace
 class CommandLineHelpWriterTest : public ::gmx::test::StringTestBase
 {
     public:
+        CommandLineHelpWriterTest() : bHidden_(false) {}
+
         void checkHelp(gmx::CommandLineHelpWriter *writer);
 
         gmx::test::TestFileManager tempFiles_;
+        bool                       bHidden_;
 };
 
 void CommandLineHelpWriterTest::checkHelp(gmx::CommandLineHelpWriter *writer)
 {
-    std::string            filename = tempFiles_.getTemporaryFilePath("helptext.txt");
-    gmx::File              file(filename, "w");
-    gmx::HelpWriterContext context(&file, gmx::eHelpOutputFormat_Console);
+    std::string                 filename = tempFiles_.getTemporaryFilePath("helptext.txt");
+    gmx::File                   file(filename, "w");
+    gmx::CommandLineHelpContext context(&file, gmx::eHelpOutputFormat_Console, NULL);
+    context.setShowHidden(bHidden_);
     writer->writeHelp(context);
     file.close();
 
@@ -126,6 +128,10 @@ TEST_F(CommandLineHelpWriterTest, HandlesOptionTypes)
                           .description("Input file description")
                           .filetype(eftTrajectory).inputFile().required()
                           .defaultBasename("traj"));
+    options.addOption(FileNameOption("mult")
+                          .description("Multiple file description")
+                          .filetype(eftTrajectory).inputFile().multiValue()
+                          .defaultBasename("traj"));
     options.addOption(FileNameOption("lib")
                           .description("Library file description")
                           .filetype(eftGenericData).inputFile().libraryFile()
@@ -139,11 +145,8 @@ TEST_F(CommandLineHelpWriterTest, HandlesOptionTypes)
                           .description("Output file description")
                           .filetype(eftPlot).outputFile());
 
-    options.addOption(SelectionFileOption("sf"));
-    options.addOption(SelectionOption("sel").description("Selection option"));
-
     CommandLineHelpWriter writer(options);
-    writer.setShowHidden(true);
+    bHidden_ = true;
     checkHelp(&writer);
 }
 
@@ -213,23 +216,25 @@ TEST_F(CommandLineHelpWriterTest, HandlesLongOptions)
     checkHelp(&writer);
 }
 
-/*
+/* TODO: Add corresponding tests to either the selection module, or as part of
+ * trajectoryanalysis tests.
  * Tests help printing with selection options with values.
  */
+#if 0
 TEST_F(CommandLineHelpWriterTest, HandlesSelectionOptions)
 {
     using gmx::SelectionFileOption;
     using gmx::SelectionOption;
 
-    gmx::Options options(NULL, NULL);
+    gmx::Options                options(NULL, NULL);
+    gmx::SelectionCollection    selections;
+    gmx::SelectionOptionManager manager(&selections);
+    options.addManager(&manager);
     options.addOption(SelectionFileOption("sf"));
     options.addOption(SelectionOption("refsel").required()
                           .description("Reference selection option"));
     options.addOption(SelectionOption("sel").required().valueCount(2)
                           .description("Selection option"));
-    gmx::SelectionCollection    selections;
-    gmx::SelectionOptionManager manager(&selections);
-    setManagerForSelectionOptions(&options, &manager);
     options.finish();
     manager.parseRequestedFromString(
             "resname SOL;"
@@ -240,6 +245,7 @@ TEST_F(CommandLineHelpWriterTest, HandlesSelectionOptions)
     gmx::CommandLineHelpWriter writer(options);
     checkHelp(&writer);
 }
+#endif
 
 /*
  * Tests help printing for multiple sections.