From ece3f961d10e3fa8ca5caf83e8820e464fd26d9f Mon Sep 17 00:00:00 2001 From: Celal Kir Date: Sat, 4 Feb 2023 05:31:32 +0100 Subject: [PATCH] test_trapezFlaeche --- build/test/cache/test_trapezFlaeche.c | 43 ++++++++++ build/test/dependencies/test_trapezFlaeche.d | 4 + .../dependencies/test_trapezFlaeche_runner.d | 4 + build/test/out/c/funktion.o | Bin 8127 -> 8492 bytes build/test/out/c/test_trapezFlaeche.o | Bin 0 -> 3658 bytes build/test/out/c/test_trapezFlaeche_runner.o | Bin 0 -> 5014 bytes build/test/out/test_trapezFlaeche.out | Bin 0 -> 87440 bytes .../preprocess/files/test_trapezFlaeche.c | 43 ++++++++++ .../preprocess/includes/test_trapezFlaeche.c | 3 + build/test/results/test_trapezFlaeche.pass | 20 +++++ .../test/runners/test_trapezFlaeche_runner.c | 81 ++++++++++++++++++ src/.idea/.gitignore | 8 ++ src/.idea/modules.xml | 8 ++ src/.idea/src.iml | 8 ++ src/.idea/vcs.xml | 6 ++ src/funktion.c | 15 ++-- src/funktion.h | 2 +- test/test_trapezFlaeche.c | 21 +++++ 18 files changed, 257 insertions(+), 9 deletions(-) create mode 100644 build/test/cache/test_trapezFlaeche.c create mode 100644 build/test/dependencies/test_trapezFlaeche.d create mode 100644 build/test/dependencies/test_trapezFlaeche_runner.d create mode 100644 build/test/out/c/test_trapezFlaeche.o create mode 100644 build/test/out/c/test_trapezFlaeche_runner.o create mode 100644 build/test/out/test_trapezFlaeche.out create mode 100644 build/test/preprocess/files/test_trapezFlaeche.c create mode 100644 build/test/preprocess/includes/test_trapezFlaeche.c create mode 100644 build/test/results/test_trapezFlaeche.pass create mode 100644 build/test/runners/test_trapezFlaeche_runner.c create mode 100644 src/.idea/.gitignore create mode 100644 src/.idea/modules.xml create mode 100644 src/.idea/src.iml create mode 100644 src/.idea/vcs.xml create mode 100644 test/test_trapezFlaeche.c diff --git a/build/test/cache/test_trapezFlaeche.c b/build/test/cache/test_trapezFlaeche.c new file mode 100644 index 0000000..9efa5bc --- /dev/null +++ b/build/test/cache/test_trapezFlaeche.c @@ -0,0 +1,43 @@ +#include "src/funktion.h" +#include "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_trapezFlaeche_calculates_correct_area(void) { + + double a = 6.0; + + double b = 8.0; + + double h = 3.0; + + double result = trapezFlaeche(a,b,h); + + double ergebnis = 21; + + printf("Testergebniss %f", ergebnis); + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((result)) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((result))), (UNITY_FLOAT)((UNITY_FLOAT)((ergebnis))), (( + + ((void *)0) + + )), (UNITY_UINT)((UNITY_UINT)(20))); + +} diff --git a/build/test/dependencies/test_trapezFlaeche.d b/build/test/dependencies/test_trapezFlaeche.d new file mode 100644 index 0000000..bbc5f08 --- /dev/null +++ b/build/test/dependencies/test_trapezFlaeche.d @@ -0,0 +1,4 @@ +build/test/out/c/test_trapezFlaeche.o: test/test_trapezFlaeche.c \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \ + src/funktion.h diff --git a/build/test/dependencies/test_trapezFlaeche_runner.d b/build/test/dependencies/test_trapezFlaeche_runner.d new file mode 100644 index 0000000..7525faf --- /dev/null +++ b/build/test/dependencies/test_trapezFlaeche_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_trapezFlaeche_runner.o: \ + build/test/runners/test_trapezFlaeche_runner.c \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h diff --git a/build/test/out/c/funktion.o b/build/test/out/c/funktion.o index 2f5e079e1697dfa8ed58ad93d9773144c6599436..6fde227e278bee71175e562581dc4aa98c997d8b 100644 GIT binary patch delta 2645 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 diff --git a/build/test/out/c/test_trapezFlaeche.o b/build/test/out/c/test_trapezFlaeche.o new file mode 100644 index 0000000000000000000000000000000000000000..09793a12d68e985e93b531f4c000024740508c2b GIT binary patch literal 3658 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 literal 0 HcmV?d00001 diff --git a/build/test/out/test_trapezFlaeche.out b/build/test/out/test_trapezFlaeche.out new file mode 100644 index 0000000000000000000000000000000000000000..2b3b2e73a5c20c09a89f567abba8e7c6a7cbcd58 GIT binary patch literal 87440 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 P6cov68xh7|%$fN=Qdlir literal 0 HcmV?d00001 diff --git a/build/test/preprocess/files/test_trapezFlaeche.c b/build/test/preprocess/files/test_trapezFlaeche.c new file mode 100644 index 0000000..9efa5bc --- /dev/null +++ b/build/test/preprocess/files/test_trapezFlaeche.c @@ -0,0 +1,43 @@ +#include "src/funktion.h" +#include "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h" + + + + +void setUp(void) + +{ + +} + + + +void tearDown(void) + +{ + +} + + + +void test_trapezFlaeche_calculates_correct_area(void) { + + double a = 6.0; + + double b = 8.0; + + double h = 3.0; + + double result = trapezFlaeche(a,b,h); + + double ergebnis = 21; + + printf("Testergebniss %f", ergebnis); + + UnityAssertFloatsWithin((UNITY_FLOAT)((UNITY_FLOAT)((result)) * (UNITY_FLOAT)(0.00001f)), (UNITY_FLOAT)((UNITY_FLOAT)((result))), (UNITY_FLOAT)((UNITY_FLOAT)((ergebnis))), (( + + ((void *)0) + + )), (UNITY_UINT)((UNITY_UINT)(20))); + +} diff --git a/build/test/preprocess/includes/test_trapezFlaeche.c b/build/test/preprocess/includes/test_trapezFlaeche.c new file mode 100644 index 0000000..376e2c1 --- /dev/null +++ b/build/test/preprocess/includes/test_trapezFlaeche.c @@ -0,0 +1,3 @@ +--- +- C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h +- src/funktion.h diff --git a/build/test/results/test_trapezFlaeche.pass b/build/test/results/test_trapezFlaeche.pass new file mode 100644 index 0000000..e1d429a --- /dev/null +++ b/build/test/results/test_trapezFlaeche.pass @@ -0,0 +1,20 @@ +--- +:source: + :path: test + :file: test_trapezFlaeche.c +:successes: +- :test: test_trapezFlaeche_calculates_correct_area + :line: 13 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: +- 'Flaeche vom Trapez beträgt: 21.000000' +- Testergebniss 21.000000 +:time: 0.46227359998738393 diff --git a/build/test/runners/test_trapezFlaeche_runner.c b/build/test/runners/test_trapezFlaeche_runner.c new file mode 100644 index 0000000..0067848 --- /dev/null +++ b/build/test/runners/test_trapezFlaeche_runner.c @@ -0,0 +1,81 @@ +/* AUTOGENERATED FILE. DO NOT EDIT. */ + +/*=======Automagically Detected Files To Include=====*/ +#include "unity.h" + +int GlobalExpectCount; +int GlobalVerifyOrder; +char* GlobalOrderError; + +/*=======External Functions This Runner Calls=====*/ +extern void setUp(void); +extern void tearDown(void); +extern void test_trapezFlaeche_calculates_correct_area(void); + + +/*=======Mock Management=====*/ +static void CMock_Init(void) +{ + GlobalExpectCount = 0; + GlobalVerifyOrder = 0; + GlobalOrderError = NULL; +} +static void CMock_Verify(void) +{ +} +static void CMock_Destroy(void) +{ +} + +/*=======Test Reset Options=====*/ +void resetTest(void); +void resetTest(void) +{ + tearDown(); + CMock_Verify(); + CMock_Destroy(); + CMock_Init(); + setUp(); +} +void verifyTest(void); +void verifyTest(void) +{ + CMock_Verify(); +} + +/*=======Test Runner Used To Run Each Test=====*/ +static void run_test(UnityTestFunction func, const char* name, UNITY_LINE_TYPE line_num) +{ + Unity.CurrentTestName = name; + Unity.CurrentTestLineNumber = line_num; +#ifdef UNITY_USE_COMMAND_LINE_ARGS + if (!UnityTestMatches()) + return; +#endif + Unity.NumberOfTests++; + UNITY_CLR_DETAILS(); + UNITY_EXEC_TIME_START(); + CMock_Init(); + if (TEST_PROTECT()) + { + setUp(); + func(); + } + if (TEST_PROTECT()) + { + tearDown(); + CMock_Verify(); + } + CMock_Destroy(); + UNITY_EXEC_TIME_STOP(); + UnityConcludeTest(); +} + +/*=======MAIN=====*/ +int main(void) +{ + UnityBegin("test_trapezFlaeche.c"); + run_test(test_trapezFlaeche_calculates_correct_area, "test_trapezFlaeche_calculates_correct_area", 13); + + return UnityEnd(); +} diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/src/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml new file mode 100644 index 0000000..f669a0e --- /dev/null +++ b/src/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.idea/src.iml b/src/.idea/src.iml new file mode 100644 index 0000000..bc2cd87 --- /dev/null +++ b/src/.idea/src.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/.idea/vcs.xml b/src/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/src/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/funktion.c b/src/funktion.c index e4b4e87..379dde9 100644 --- a/src/funktion.c +++ b/src/funktion.c @@ -9,13 +9,6 @@ float getValue(char c) { printf("%c eingeben: ",c); scanf("%f", &value); return value; - -double trapezFlaeche(double a, double b, double h) { - printf("Flaeche vom Trapez beträgt: %f\n",(a + b) * h / 2); - double result=(a + b) * h / 2; - return result; -} - } double marktanteil(double gesamtumsatz,double unternehmensumsatz) { return unternehmensumsatz / gesamtumsatz * 100.0; @@ -118,4 +111,10 @@ double GewinnMaximum(double p,double q,double tc,double tr){ float erloesfunktion = p * q; float gewinnmaximumm = erloesfunktion - tc - tr; return gewinnmaximumm; -} \ No newline at end of file +} + +double trapezFlaeche(double a, double b, double h) { + printf("Flaeche vom Trapez beträgt: %f\n",(a + b) * h / 2); + double result=(a + b) * h / 2; + return result; +} diff --git a/src/funktion.h b/src/funktion.h index d6145ae..763db87 100644 --- a/src/funktion.h +++ b/src/funktion.h @@ -2,7 +2,7 @@ #define FUNKTION_H float getValue(char c); -double trapezFlaeche(double a, double b, double h); +double trapezFlaeche(double a,double b,double h); double marktanteil(double gesamtumsatz,double unternehmensumsatz); double angebotserfolg(double angeboteneMenge,double verkaufteMenge); double Anlagenabnutzungsgrad(double anfangsbuchwert,double restbuchwert); diff --git a/test/test_trapezFlaeche.c b/test/test_trapezFlaeche.c new file mode 100644 index 0000000..1c7fc5d --- /dev/null +++ b/test/test_trapezFlaeche.c @@ -0,0 +1,21 @@ +#include "unity.h" +#include "funktion.h" + + +void setUp(void) +{ +} + +void tearDown(void) +{ +} + +void test_trapezFlaeche_calculates_correct_area(void) { + double a = 6.0; + double b = 8.0; + double h = 3.0; + double result = trapezFlaeche(a,b,h); + double ergebnis = 21; + printf("Testergebniss %f", ergebnis); + TEST_ASSERT_EQUAL_FLOAT(result, ergebnis); +}