You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.2 KiB

  1. #ifdef TEST
  2. #include "unity.h"
  3. #include "logarithmus.h"
  4. #include "exponent.h"
  5. void setUp(void)
  6. {
  7. }
  8. void tearDown(void)
  9. {
  10. }
  11. void test_ln_with_positive_number(void){
  12. double r1, r2, r3;
  13. r1 = logN(1.0, 0.000001);
  14. r2 = logN(10.0, 0.000001);
  15. r3 = logN(2.5, 0.000001);
  16. TEST_ASSERT_DOUBLE_WITHIN(0.000001, 0, r1);
  17. TEST_ASSERT_DOUBLE_WITHIN(0.000001, 2.302585, r2);
  18. TEST_ASSERT_DOUBLE_WITHIN(0.000001, 0.916290, r3);
  19. }
  20. void test_ln_with_zero_and_negative_numbers(void){
  21. double r1, r2, r3;
  22. r1 = logN(0.0, 0.000001);
  23. r2 = logN(-1.0, 0.000001);
  24. r3 = logN(-2.5, 0.000001);
  25. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r1);
  26. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r2);
  27. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r3);
  28. }
  29. void test_logarithmic_function_with_edge_cases(void){
  30. double r1, r2, r3, r4;
  31. r1 = logX(0, 10);
  32. r2 = logX(-1.0, 9);
  33. r3 = logX(1, 18);
  34. r4 = logX(3, 0);
  35. printf("%lf\n", r1);
  36. printf("%lf\n", r2);
  37. printf("%lf\n", r3);
  38. printf("%lf\n", r4);
  39. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r1);
  40. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r2);
  41. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r3);
  42. TEST_ASSERT_EQUAL_DOUBLE(-1.0, r4);
  43. }
  44. #endif // TEST