Mercurial > hg > orthanc-stone
diff UnitTestsSources/TestCommands.cpp @ 373:d6136a7e914d
making branch am-2 the new mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 05 Nov 2018 10:06:18 +0100 |
parents | be2660b6e40a |
children | b70e9be013e4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UnitTestsSources/TestCommands.cpp Mon Nov 05 10:06:18 2018 +0100 @@ -0,0 +1,108 @@ +///** +// * Stone of Orthanc +// * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics +// * Department, University Hospital of Liege, Belgium +// * Copyright (C) 2017-2018 Osimis S.A., Belgium +// * +// * This program is free software: you can redistribute it and/or +// * modify it under the terms of the GNU Affero General Public License +// * as published by the Free Software Foundation, either version 3 of +// * the License, or (at your option) any later version. +// * +// * 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 +// * Affero General Public License for more details. +// * +// * You should have received a copy of the GNU Affero General Public License +// * along with this program. If not, see <http://www.gnu.org/licenses/>. +// **/ + + +//#include "gtest/gtest.h" + +//#include "../Applications/Commands/BaseCommandFactory.h" +//#include "Core/OrthancException.h" + +//class CommandIncrement: public OrthancStone::BaseCommand<CommandIncrement> +//{ +//public: +// static int counter; +// int increment_; +//public: +// CommandIncrement() +// : OrthancStone::BaseCommand<CommandIncrement>("increment"), +// increment_(0) +// {} + +// virtual void Execute() +// { +// counter += increment_; +// } +// virtual void Configure(const Json::Value& arguments) +// { +// increment_ = arguments["increment"].asInt(); +// } +//}; + +//// COMMAND("name", "arg1", "int", "arg2", "string") +//// COMMAND(name, arg1, arg2) + + +//int CommandIncrement::counter = 0; + +//TEST(Commands, CreateNoop) +//{ +// OrthancStone::BaseCommandFactory factory; + +// factory.RegisterCommandClass<OrthancStone::NoopCommand>(); + +// Json::Value cmdJson; +// cmdJson["command"] = "noop"; + +// std::auto_ptr<OrthancStone::ICommand> command(factory.CreateFromJson(cmdJson)); + +// ASSERT_TRUE(command.get() != NULL); +// ASSERT_EQ("noop", command->GetName()); +//} + +//TEST(Commands, Execute) +//{ +// OrthancStone::BaseCommandFactory factory; + +// factory.RegisterCommandClass<OrthancStone::NoopCommand>(); +// factory.RegisterCommandClass<CommandIncrement>(); + +// Json::Value cmdJson; +// cmdJson["command"] = "increment"; +// cmdJson["args"]["increment"] = 2; + +// std::auto_ptr<OrthancStone::ICommand> command(factory.CreateFromJson(cmdJson)); + +// ASSERT_TRUE(command.get() != NULL); +// CommandIncrement::counter = 0; +// command->Execute(); +// ASSERT_EQ(2, CommandIncrement::counter); +//} + +//TEST(Commands, TryCreateUnknowCommand) +//{ +// OrthancStone::BaseCommandFactory factory; +// factory.RegisterCommandClass<OrthancStone::NoopCommand>(); + +// Json::Value cmdJson; +// cmdJson["command"] = "unknown"; + +// ASSERT_THROW(std::auto_ptr<OrthancStone::ICommand> command(factory.CreateFromJson(cmdJson)), Orthanc::OrthancException); +//} + +//TEST(Commands, TryCreateCommandFromInvalidJson) +//{ +// OrthancStone::BaseCommandFactory factory; +// factory.RegisterCommandClass<OrthancStone::NoopCommand>(); + +// Json::Value cmdJson; +// cmdJson["command-name"] = "noop"; + +// ASSERT_THROW(std::auto_ptr<OrthancStone::ICommand> command(factory.CreateFromJson(cmdJson)), Orthanc::OrthancException); +//}