1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include <gtest/gtest.h>
- #include <json.hpp>
- //#define private public
- #include <Registration.h>
- using namespace mdd;
- namespace TEST_MODULE_SWITCH {
- auto regi = Registration();
- TEST(ModuleSwitch, EasySwitch){
- IModule::Ptr sModule = regi.generateModule("ModuleSwitch");
- json config = sModule->getConfiguration();
- config["configure"]["size"]["value"] = 2;
- sModule->configure(config);
- sModule->getInput(0)->setValue() = { 0 };
- sModule->getInput(1)->setValue() = { 1 };
- sModule->getInput(2)->setValue() = { 2 };
- sModule->update();
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 1);
- sModule->getInput(0)->setValue() = { 1 };
- sModule->update();
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 1);
- sModule->getInput(0)->setValue() = { 2 };
- sModule->update();
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 2);
- sModule->getInput(0)->setValue() = { 3 };
- sModule->update();
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 2);
- sModule->getInput(0)->setValue() = { 33 };
- sModule->update();
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 2);
- }
- TEST(ModuleSwitch, ConnectTest){
- IModule::Ptr f0 = regi.generateModule("ModuleMath");
- json config = f0->getConfiguration();
- config["configure"]["operation"]["value"] = "multiply";
- f0->configure(config);
-
- f0->getInput(0)->setValue() = { 1 };
- f0->getInput(1)->setValue() = { 1 };
- IModule::Ptr f1 = regi.generateModule("ModuleMath");
- config = f1->getConfiguration();
- config["configure"]["operation"]["value"] = "multiply";
- f1->configure(config);
- f1->getInput(0)->setValue() = { 2 };
- f1->getInput(1)->setValue() = { 3 };
- IModule::Ptr f2 = regi.generateModule("ModuleMath");
- config = f2->getConfiguration();
- config["configure"]["operation"]["value"] = "multiply";
- f2->configure(config);
- f2->getInput(0)->setValue() = { 5 };
- f2->getInput(1)->setValue() = { 7 };
- IModule::Ptr sModule = regi.generateModule("ModuleSwitch");
- config = sModule->getConfiguration();
- config["configure"]["size"]["value"] = 2;
- sModule->configure(config);
- sModule->getInput(0)->connect(f0->getOutput(0));
- sModule->getInput(1)->connect(f1->getOutput(0));
- sModule->getInput(2)->connect(f2->getOutput(0));
- f0->update();
- f1->update();
- f2->update();
- sModule->update();
- //std::cout << sModule.getOutput(sModule.getOutputIDs()[0])->getValue()["value"].dump() << std::endl;
- EXPECT_EQ(sModule->getOutput(0)->getValue()[0], 6);
- }//*/
- }
|