switch to new MPL based Fraunhofer FOKUS Public License
[senf.git] / senf / Utils / Console / Variables.test.cc
index cff60d1..2e46cc2 100644 (file)
@@ -1,24 +1,29 @@
 // $Id$
 //
-// Copyright (C) 2008 
+// Copyright (C) 2008
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
-//     Stefan Bund <g0dil@berlios.de>
 //
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
+// The contents of this file are subject to the Fraunhofer FOKUS Public License
+// Version 1.0 (the "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at 
+// http://senf.berlios.de/license.html
 //
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
+// The Fraunhofer FOKUS Public License Version 1.0 is based on, 
+// but modifies the Mozilla Public License Version 1.1.
+// See the full license text for the amendments.
 //
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// Software distributed under the License is distributed on an "AS IS" basis, 
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
+// for the specific language governing rights and limitations under the License.
+//
+// The Original Code is Fraunhofer FOKUS code.
+//
+// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
+// (registered association), Hansastraße 27 c, 80686 Munich, Germany.
+// All Rights Reserved.
+//
+// Contributor(s):
+//   Stefan Bund <g0dil@berlios.de>
 
 /** \file
     \brief Variables unit tests */
 #include <sstream>
 #include "Console.hh"
 
-#include "../../Utils/auto_unit_test.hh"
+#include <senf/Utils/auto_unit_test.hh>
 #include <boost/test/test_tools.hpp>
 
 #define prefix_
-///////////////////////////////cc.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace {
     void testParser(senf::console::ParseCommandInfo::TokensRange const &, int & value)
@@ -49,8 +54,10 @@ namespace {
     { changed_ = true; }
 }
 
-BOOST_AUTO_UNIT_TEST(variables)
+SENF_AUTO_UNIT_TEST(variables)
 {
+    namespace fty = senf::console::factory;
+
     senf::console::Executor executor;
     senf::console::CommandParser parser;
     senf::console::ScopedDirectory<> dir;
@@ -59,12 +66,13 @@ BOOST_AUTO_UNIT_TEST(variables)
     int var (5);
 
     std::stringstream ss;
-    dir.add("var", var)
+    dir.add("var", fty::Variable(var)
         .doc("Current blorg limit")
         .formatter(&testFormatter)
         .parser(&testParser)
         .typeName("number")
-        .onChange(&testCallback);
+        .onChange(&testCallback)
+        );
     parser.parse("test/var; test/var 10; test/var",
                  boost::bind<void>( boost::ref(executor), boost::ref(ss), _1 ));
     BOOST_CHECK_EQUAL( ss.str(), "[5]\n[0]\n" );
@@ -72,45 +80,48 @@ BOOST_AUTO_UNIT_TEST(variables)
 
     ss.str("");
     dir("var").help(ss);
-    BOOST_CHECK_EQUAL(ss.str(), 
+    BOOST_CHECK_EQUAL(ss.str(),
                       "Usage:\n"
-                      "    1- var new_value:number\n"
-                      "    2- var\n"
+                      "    1- var\n"
+                      "    2- var new_value:number\n"
                       "\n"
                       "Current blorg limit\n");
 
-    senf::console::CommandNode & refvar (dir.add("refvar", boost::ref(var))
+    senf::console::CommandNode & refvar (dir.add("refvar", fty::Variable(boost::ref(var))
         .doc("Current blorg limit")
         .formatter(&testFormatter)
         .parser(&testParser)
-        .typeName("number"));
+        .typeName("number")
+    ));
 
-    (void) refvar;
+    senf::IGNORE( refvar );
 
-    dir.add("crefvar", boost::cref(var))
+    dir.add("crefvar", fty::Variable(boost::cref(var))
         .doc("Current blorg limit")
-        .formatter(&testFormatter);
+        .formatter(&testFormatter)
+        );
 }
 
 namespace {
-    
+
     class Test2
     {
     public:
         senf::console::ScopedDirectory<Test2> dir;
-        
+
         Test2() : dir(this), var_(0)
-            { dir.add("var", var_); }
-        
+            { dir.add("var", senf::console::factory::Variable(boost::ref(var_))); }
+
     private:
         int var_;
     };
-  
+
 }
 
-BOOST_AUTO_UNIT_TEST(memberVariables)
+SENF_AUTO_UNIT_TEST(memberVariables)
 {
     Test2 test2ob;
+    BOOST_CHECK( true );
 }
 
 #ifdef COMPILE_CHECK
@@ -125,7 +136,7 @@ COMPILE_FAIL(constVariable)
 
 #endif
 
-///////////////////////////////cc.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 #undef prefix_
 
 \f