test_ModuleSwitch.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <gtest/gtest.h>
  2. #include <json.hpp>
  3. //#define private public
  4. #include <ProcessorManual.h>
  5. #include <ModuleMath.h>
  6. #include <ModuleSwitch.h>
  7. using namespace mdd;
  8. TEST(ModuleSwitch, EasySwitch){
  9. ModuleSwitch sModule = ModuleSwitch();
  10. sModule.setInputDefaultValue(0)["value"] = 0;
  11. sModule.setInputDefaultValue(1)["value"] = 1;
  12. sModule.setInputDefaultValue(2)["value"] = 2;
  13. sModule.update();
  14. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 1);
  15. sModule.setInputDefaultValue(0)["value"] = 1;
  16. sModule.update();
  17. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 1);
  18. sModule.setInputDefaultValue(0)["value"] = 2;
  19. sModule.update();
  20. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 2);
  21. sModule.setInputDefaultValue(0)["value"] = 3;
  22. sModule.update();
  23. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 2);
  24. sModule.setInputDefaultValue(0)["value"] = 33;
  25. sModule.update();
  26. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 2);
  27. }
  28. TEST(ModuleSwitch, ConnectTest){
  29. ModuleMath f0 = ModuleMath(MULTIPLY);
  30. f0.setInputDefaultValue(0)["value"] = 1;
  31. f0.setInputDefaultValue(1)["value"] = 1;
  32. ModuleMath f1 = ModuleMath(MULTIPLY);
  33. f1.setInputDefaultValue(0)["value"] = 2;
  34. f1.setInputDefaultValue(1)["value"] = 3;
  35. ModuleMath f2 = ModuleMath(MULTIPLY);
  36. f2.setInputDefaultValue(0)["value"] = 5;
  37. f2.setInputDefaultValue(1)["value"] = 7;
  38. ModuleSwitch sModule = ModuleSwitch();
  39. sModule.connectInput(0,f0.getOutput(0));
  40. sModule.connectInput(1,f1.getOutput(0));
  41. sModule.connectInput(2,f2.getOutput(0));
  42. f0.update();
  43. f1.update();
  44. f2.update();
  45. sModule.update();
  46. EXPECT_EQ(sModule.getOutput(0)->getValue()["value"].get<int>(), 6);
  47. }