test_ModuleMath.cpp 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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_FLOAT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()[0], 2.0);
  14. }
  15. TEST(ModuleMath, FLOAT_PLUS_FLOAT){
  16. ModuleMath test = ModuleMath();
  17. test.getInput(test.getInputIDs()[0])->setValue() = { 1.25 };
  18. test.getInput(test.getInputIDs()[1])->setValue() = { 3.125 };
  19. test.update();
  20. EXPECT_FLOAT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()[0], 4.375);
  21. }
  22. TEST(ModuleMath, FLOAT_PLUS_FLOAT_HARDER){
  23. ModuleMath test = ModuleMath();
  24. test.getInput(test.getInputIDs()[0])->setValue() = { 2.2 };
  25. test.getInput(test.getInputIDs()[1])->setValue() = { -3.4 };
  26. test.update();
  27. EXPECT_FLOAT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue()[0], -1.2);
  28. }
  29. TEST(ModuleMath, ARRAY_PLUS_ARRAY) {
  30. ModuleMath test = ModuleMath();
  31. test.getInput(test.getInputIDs()[0])->setValue() = { 1,2.5,3.75,45 };
  32. test.getInput(test.getInputIDs()[1])->setValue() = { 10,31,23,23 };
  33. std::vector<double> expect = { 11, 33.5, 26.75, 68 };
  34. test.update();
  35. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  36. }
  37. TEST(ModuleMath, INT_PLUS_ARRAY){
  38. ModuleMath test = ModuleMath();
  39. test.getInput(test.getInputIDs()[0])->setValue() = { 2.5 };
  40. test.getInput(test.getInputIDs()[1])->setValue() = {10,31,23,23};
  41. std::vector<double> expect = { 12.5,33.5,25.5,25.5 };
  42. test.update();
  43. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  44. }
  45. TEST(ModuleMath, ARRAY_PLUS_INT){
  46. ModuleMath test = ModuleMath();
  47. test.getInput(test.getInputIDs()[0])->setValue() = {10,31,23,23};
  48. test.getInput(test.getInputIDs()[1])->setValue() = { 2.5 };
  49. std::vector<double> expect = { 12.5,33.5,25.5,25.5 };
  50. test.update();
  51. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  52. }
  53. TEST(ModuleMath, ARRAY_MINUS_ARRAY){
  54. ModuleMath test = ModuleMath(MathOperation::SUBTRACT);
  55. test.getInput(test.getInputIDs()[0])->setValue() = {10,31,3,45};
  56. test.getInput(test.getInputIDs()[1])->setValue() = {1,2.5,23,23};
  57. std::vector<double> expect = { 9,28.5,-20,22 };
  58. test.update();
  59. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  60. }
  61. TEST(ModuleMath, ARRAY_MAL_ARRAY){
  62. ModuleMath test = ModuleMath(MathOperation::MULTIPLY);
  63. test.getInput(test.getInputIDs()[0])->setValue() = {10,30,-3.5,45};
  64. test.getInput(test.getInputIDs()[1])->setValue() = {1,2.5,2.25,20};
  65. std::vector<double> expect = { 10,75.0,-7.875,900 };
  66. test.update();
  67. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  68. }
  69. TEST(ModuleMath, ARRAY_DURCH_ARRAY){
  70. ModuleMath test = ModuleMath(MathOperation::DIVIDE);
  71. test.getInput(test.getInputIDs()[0])->setValue() = {10,30,-3.5,45};
  72. test.getInput(test.getInputIDs()[1])->setValue() = {4,2.5,2,20};
  73. std::vector<double> expect = { 2.5,12.0,-1.75,2.25 };
  74. test.update();
  75. EXPECT_EQ(test.getOutput(test.getOutputIDs()[0])->getValue(), expect);
  76. }