#include #include //#define private public #include #include #include using namespace mdd; TEST(ModuleSwitch, EasySwitch){ ModuleSwitch sModule = ModuleSwitch(); sModule.setInputDefaultValue(0)["value"] = 0; sModule.setInputDefaultValue(1)["value"] = 1; sModule.setInputDefaultValue(2)["value"] = 2; sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 1); sModule.setInputDefaultValue(0)["value"] = 1; sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 1); sModule.setInputDefaultValue(0)["value"] = 2; sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 2); sModule.setInputDefaultValue(0)["value"] = 3; sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 2); sModule.setInputDefaultValue(0)["value"] = 33; sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 2); } TEST(ModuleSwitch, ConnectTest){ ModuleMath f0 = ModuleMath(MULTIPLY); f0.setInputDefaultValue(0)["value"] = 1; f0.setInputDefaultValue(1)["value"] = 1; ModuleMath f1 = ModuleMath(MULTIPLY); f1.setInputDefaultValue(0)["value"] = 2; f1.setInputDefaultValue(1)["value"] = 3; ModuleMath f2 = ModuleMath(MULTIPLY); f2.setInputDefaultValue(0)["value"] = 5; f2.setInputDefaultValue(1)["value"] = 7; ModuleSwitch sModule = ModuleSwitch(); sModule.connectInput(0,f0.getOutput(0)); sModule.connectInput(1,f1.getOutput(0)); sModule.connectInput(2,f2.getOutput(0)); f0.update(); f1.update(); f2.update(); sModule.update(); EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get(), 6); }