test_ModuleMath.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #include <gtest/gtest.h>
  2. #include <json.hpp>
  3. //#define private public
  4. #include <ModuleMath.h>
  5. //cd cmake-build-debug/lib/test
  6. //gtb auslegung_test
  7. //catch throw
  8. //run
  9. using namespace mdd;
  10. TEST(ModuleMath, INT_PLUS_INT){
  11. ModuleMath test = ModuleMath();
  12. test.update();
  13. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"][0].get<int>(), 2);
  14. }
  15. TEST(ModuleMath, FLOAT_PLUS_FLOAT){
  16. ModuleMath test = ModuleMath();
  17. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = 1.25;
  18. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = 3.125;
  19. test.update();
  20. EXPECT_FLOAT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"], 4.375);
  21. }
  22. TEST(ModuleMath, FLOAT_PLUS_FLOAT_HARDER){
  23. ModuleMath test = ModuleMath();
  24. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = 2.2;
  25. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = -3.4;
  26. test.update();
  27. EXPECT_FLOAT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"], -1.2);
  28. }
  29. TEST(ModuleMath, ARRAY_PLUS_ARRAY){
  30. ModuleMath test = ModuleMath();
  31. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = {1,2.5,3.75,45};
  32. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = {10,31,23,23};
  33. test.update();
  34. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[11,33.5,26.75,68]");
  35. }
  36. TEST(ModuleMath, INT_PLUS_ARRAY){
  37. ModuleMath test = ModuleMath();
  38. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = 2.5;
  39. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = {10,31,23,23};
  40. test.update();
  41. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[12.5,33.5,25.5,25.5]");
  42. }
  43. TEST(ModuleMath, ARRAY_PLUS_INT){
  44. ModuleMath test = ModuleMath();
  45. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = {10,31,23,23};
  46. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = 2.5;
  47. test.update();
  48. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[12.5,33.5,25.5,25.5]");
  49. }
  50. TEST(ModuleMath, ARRAY_MINUS_ARRAY){
  51. ModuleMath test = ModuleMath(MathOperation::SUBTRACT);
  52. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = {10,31,3,45};
  53. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = {1,2.5,23,23};
  54. test.update();
  55. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[9,28.5,-20,22]");
  56. }
  57. TEST(ModuleMath, ARRAY_MAL_ARRAY){
  58. ModuleMath test = ModuleMath(MathOperation::MULTIPLY);
  59. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = {10,30,-3.5,45};
  60. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = {1,2.5,2.25,20};
  61. test.update();
  62. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[10,75.0,-7.875,900]");
  63. }
  64. TEST(ModuleMath, ARRAY_DURCH_ARRAY){
  65. ModuleMath test = ModuleMath(MathOperation::DIVIDE);
  66. test.getInput(test.getInputIDs()[0])->setDefaultValue()["value"] = {10,30,-3.5,45};
  67. test.getInput(test.getInputIDs()[1])->setDefaultValue()["value"] = {4,2.5,2,20};
  68. test.update();
  69. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()["value"].dump(), "[2.5,12.0,-1.75,2.25]");
  70. }