From 375bb33114c762f1505088e810595a8669f31115 Mon Sep 17 00:00:00 2001 From: Celal Kir Date: Sat, 4 Feb 2023 00:36:14 +0100 Subject: [PATCH] test_marktanteil --- build/test/cache/defines_dependency.yml | 3 + build/test/cache/input.yml | 243 ++++++++++++++++++ build/test/cache/test_marktanteil.c | 43 ++++ build/test/dependencies/cmock.d | 6 + build/test/dependencies/funktion.d | 1 + build/test/dependencies/test_marktanteil.d | 4 + .../dependencies/test_marktanteil_runner.d | 4 + build/test/dependencies/unity.d | 4 + build/test/out/c/cmock.o | Bin 0 -> 7447 bytes build/test/out/c/funktion.o | Bin 0 -> 2708 bytes build/test/out/c/test_marktanteil.o | Bin 0 -> 3563 bytes build/test/out/c/test_marktanteil_runner.o | Bin 0 -> 4986 bytes build/test/out/c/unity.o | Bin 0 -> 32711 bytes build/test/out/test_marktanteil.out | Bin 0 -> 81911 bytes .../test/preprocess/files/test_marktanteil.c | 43 ++++ .../preprocess/includes/test_marktanteil.c | 3 + build/test/results/test_marktanteil.pass | 20 ++ build/test/runners/test_marktanteil_runner.c | 81 ++++++ test/test_marktanteil.c | 22 ++ 19 files changed, 477 insertions(+) create mode 100644 build/test/cache/defines_dependency.yml create mode 100644 build/test/cache/input.yml create mode 100644 build/test/cache/test_marktanteil.c create mode 100644 build/test/dependencies/cmock.d create mode 100644 build/test/dependencies/funktion.d create mode 100644 build/test/dependencies/test_marktanteil.d create mode 100644 build/test/dependencies/test_marktanteil_runner.d create mode 100644 build/test/dependencies/unity.d create mode 100644 build/test/out/c/cmock.o create mode 100644 build/test/out/c/funktion.o create mode 100644 build/test/out/c/test_marktanteil.o create mode 100644 build/test/out/c/test_marktanteil_runner.o create mode 100644 build/test/out/c/unity.o create mode 100644 build/test/out/test_marktanteil.out create mode 100644 build/test/preprocess/files/test_marktanteil.c create mode 100644 build/test/preprocess/includes/test_marktanteil.c create mode 100644 build/test/results/test_marktanteil.pass create mode 100644 build/test/runners/test_marktanteil_runner.c create mode 100644 test/test_marktanteil.c diff --git a/build/test/cache/defines_dependency.yml b/build/test/cache/defines_dependency.yml new file mode 100644 index 0000000..0dae92e --- /dev/null +++ b/build/test/cache/defines_dependency.yml @@ -0,0 +1,3 @@ +--- +src/funktion.c: +- TEST diff --git a/build/test/cache/input.yml b/build/test/cache/input.yml new file mode 100644 index 0000000..1adfc9b --- /dev/null +++ b/build/test/cache/input.yml @@ -0,0 +1,243 @@ +--- +:project: + :use_exceptions: false + :use_mocks: true + :compile_threads: 1 + :test_threads: 1 + :use_test_preprocessor: true + :use_preprocessor_directives: false + :use_deep_dependencies: false + :generate_deep_dependencies: true + :auto_link_deep_dependencies: false + :test_file_prefix: test_ + :options_paths: [] + :release_build: false + :use_auxiliary_dependencies: true + :build_root: build + :which_ceedling: gem + :ceedling_version: 0.31.1 + :default_tasks: + - test:all +:release_build: + :use_assembly: false + :artifacts: [] +:paths: + :test: + - "+:test/**" + - "-:test/support" + :source: + - src/** + :support: + - test/support + :include: [] + :libraries: [] + :test_toolchain_include: [] + :release_toolchain_include: [] +:files: + :test: [] + :source: [] + :assembly: [] + :support: [] + :include: [] +:environment: +- :rake_columns: '120' +:defines: + :test: + - &1 [] + - TEST + :test_preprocess: + - *1 + - TEST + :release: [] + :release_preprocess: [] + :use_test_definition: false + :common: [] +:libraries: + :flag: "-l${1}" + :path_flag: "-L ${1}" + :test: [] + :test_preprocess: [] + :release: [] + :release_preprocess: [] + :placement: :end + :system: + - m +:flags: {} +:extension: + :header: ".h" + :source: ".c" + :assembly: ".s" + :object: ".o" + :libraries: + - ".a" + - ".so" + :executable: ".out" + :map: ".map" + :list: ".lst" + :testpass: ".pass" + :testfail: ".fail" + :dependencies: ".d" +:unity: + :vendor_path: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor + :defines: [] +:cmock: + :vendor_path: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor + :defines: [] + :includes: [] + :mock_prefix: mock_ + :when_no_prototypes: :warn + :enforce_strict_ordering: true + :plugins: + - :ignore + - :callback + :treat_as: + uint8: HEX8 + uint16: HEX16 + uint32: UINT32 + int8: INT8 + bool: UINT8 + :mock_path: build/test/mocks + :verbosity: 3 + :unity_helper: false +:cexception: + :vendor_path: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor + :defines: [] +:test_runner: + :includes: [] + :file_suffix: _runner +:tools: + :test_compiler: + :executable: gcc.exe + :name: default_test_compiler + :stderr_redirect: :none + :background_exec: :none + :optional: false + :arguments: + - '' + - '' + - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR + - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE + - "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR + - "-DGNU_COMPILER" + - "-g" + - '' + - -c "${1}" + - -o "${2}" + - "-MMD" + - -MF "${4}" + :test_fixture: + :executable: "${1}" + :name: default_test_fixture + :stderr_redirect: :auto + :background_exec: :none + :optional: false + :arguments: [] + :test_linker: + :executable: gcc.exe + :name: default_test_linker + :stderr_redirect: :none + :background_exec: :none + :optional: false + :arguments: + - '' + - '' + - '' + - '"${1}"' + - "${5}" + - -o "${2}" + - '' + - "${4}" + - '' + :test_file_preprocessor: + :executable: gcc.exe + :name: default_test_file_preprocessor + :stderr_redirect: :none + :background_exec: :none + :optional: false + :arguments: + - '' + - '' + - "-E" + - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR + - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE + - "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR + - "-D$": DEFINES_TEST_PREPROCESS + - "-DGNU_COMPILER" + - '"${1}"' + - -o "${2}" + :test_file_preprocessor_directives: + :executable: gcc.exe + :name: default_test_file_preprocessor_directives + :stderr_redirect: :none + :background_exec: :none + :optional: false + :arguments: + - "-E" + - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR + - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE + - "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR + - "-D$": DEFINES_TEST_PREPROCESS + - "-DGNU_COMPILER" + - "-fdirectives-only" + - '"${1}"' + - -o "${2}" + :test_includes_preprocessor: + :executable: gcc.exe + :name: default_test_includes_preprocessor + :stderr_redirect: :none + :background_exec: :none + :optional: false + :arguments: + - '' + - '' + - "-E" + - "-MM" + - "-MG" + - -I"$": COLLECTION_PATHS_TEST_SUPPORT_SOURCE_INCLUDE_VENDOR + - -I"$": COLLECTION_PATHS_TEST_TOOLCHAIN_INCLUDE + - "-D$": COLLECTION_DEFINES_TEST_AND_VENDOR + - "-D$": DEFINES_TEST_PREPROCESS + - "-DGNU_COMPILER" + - '"${1}"' +:test_compiler: + :arguments: [] +:test_linker: + :arguments: [] +:test_fixture: + :arguments: [] + :link_objects: [] +:test_includes_preprocessor: + :arguments: [] +:test_file_preprocessor: + :arguments: [] +:test_file_preprocessor_directives: + :arguments: [] +:test_dependencies_generator: + :arguments: [] +:release_compiler: + :arguments: [] +:release_linker: + :arguments: [] +:release_assembler: + :arguments: [] +:release_dependencies_generator: + :arguments: [] +:plugins: + :load_paths: + - C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/lib/../plugins + :enabled: + - stdout_pretty_tests_report + - module_generator + :display_raw_test_results: false + :stdout_pretty_tests_report_path: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/lib/../plugins/stdout_pretty_tests_report + :module_generator_path: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/lib/../plugins/module_generator +:gcov: + :reports: + - HtmlDetailed + :gcovr: + :html_medium_threshold: 75 + :html_high_threshold: 90 +:module_generator: + :project_root: "./" + :source_root: src/ + :test_root: test/ diff --git a/build/test/cache/test_marktanteil.c b/build/test/cache/test_marktanteil.c new file mode 100644 index 0000000..c0ba871 --- /dev/null +++ b/build/test/cache/test_marktanteil.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_marktanteil_NeedToImplement(void) + +{ + + double a =23; + + double b = 5; + + double result = marktanteil(a,b); + + double ergebnis = 21.739130; + + 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/cmock.d b/build/test/dependencies/cmock.d new file mode 100644 index 0000000..2b0b32a --- /dev/null +++ b/build/test/dependencies/cmock.d @@ -0,0 +1,6 @@ +build/test/out/c/cmock.o: \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.c \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock.h \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/cmock/src/cmock_internals.h \ + 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/dependencies/funktion.d b/build/test/dependencies/funktion.d new file mode 100644 index 0000000..a7d4ada --- /dev/null +++ b/build/test/dependencies/funktion.d @@ -0,0 +1 @@ +build/test/out/c/funktion.o: src/funktion.c src/funktion.h diff --git a/build/test/dependencies/test_marktanteil.d b/build/test/dependencies/test_marktanteil.d new file mode 100644 index 0000000..79c8eb2 --- /dev/null +++ b/build/test/dependencies/test_marktanteil.d @@ -0,0 +1,4 @@ +build/test/out/c/test_marktanteil.o: test/test_marktanteil.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_marktanteil_runner.d b/build/test/dependencies/test_marktanteil_runner.d new file mode 100644 index 0000000..1edbc70 --- /dev/null +++ b/build/test/dependencies/test_marktanteil_runner.d @@ -0,0 +1,4 @@ +build/test/out/c/test_marktanteil_runner.o: \ + build/test/runners/test_marktanteil_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/dependencies/unity.d b/build/test/dependencies/unity.d new file mode 100644 index 0000000..614a6fe --- /dev/null +++ b/build/test/dependencies/unity.d @@ -0,0 +1,4 @@ +build/test/out/c/unity.o: \ + C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/ceedling-0.31.1/vendor/unity/src/unity.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/cmock.o b/build/test/out/c/cmock.o new file mode 100644 index 0000000000000000000000000000000000000000..657d425108c164f0d626e41cf8517c76ee80c7a6 GIT binary patch literal 7447 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 WFYBHU&10RDAun4!6Y_HMH0VFnb?%k` literal 0 HcmV?d00001 diff --git a/build/test/out/c/funktion.o b/build/test/out/c/funktion.o new file mode 100644 index 0000000000000000000000000000000000000000..b81e1facfb1f30ff7727281183e34b07d516960a GIT binary patch literal 2708 zcmbVOO>7%Q6n?Y2jyJX4q_~2Fa#%zn3R3JuZPO4MYML%3qD6oxw8*esugCT__HMMh zPK(t;C4STpf#?MZsYei3ZU_Vjs8AJzI3Q>#vSCDf8+uPCn66h|#;I90{WDoH(v;uN=iQsJ+ z??UL?04DkXzKY_}6a;VUwjSOBT2CYIY{bJ7g}iOsdw91pM7&A*!j6of`X$Ee7OY<( zzx|4~ zCbY@imfW~D)(DyopQ&<(d$xt9=~=ZId)w5cHdckS?^*du)0q!!*U4EhJ6+uGbI&i% z^1Ay(aX0tp19zeLEH@hqo_m)l3g$!*)x}3TV>zFXHY{jD^4h=?Bu$uqelmXGm9!lIe4h z&XP-2j7r_Cf^?32X|(J*`hFs75Qkx83M!o^U?UD~R(!h!($8cMDMrv(s5oW=hx|g} z?tz5z9eVm6o7<~{bm1)ONedk<$_4#2N06?%Xi2J4cAF*2mR7_^MP|QYdQ}T#i&6+< z5#;j6I3%G^j()>vlnkrs84dF&$Zv%-|7G96Rl_=bLqL+4SFur2@}aA4`vJ&*ToN%{ ze~}~kPg;7F|LOp?L%`nztTQSNx6DD-86`{MK51_{V42r30sY(d zVq>R1z}=Rva^J+g)$q-r6)~ifwR98rsps%ogFF5W&O?x@^58kM-sHfNzhe**3d>HB zm9`M3QcEX`nZ=N%l0!OK$K9n=>aK|gE8Dn%g9esm$Az=hksYeh3kh4ry zQ>p3H!zq@Z{cXka^h;$+zEe!!=I>E@q-GsBnhBFgAbyWVg)KQUOANGu0 zU!TFAVd()I!@nw6)Alt9jRJJLtC?_x( zeG4`E5?V!gbiMkTv@4SczD7pq+kr4O+BmUadORcm;MxJ*pnW0`)*6#N7-MQ-q{{zB0ialLceQ+FmTo}w##v+8+N3ljDGQvBEedv85*0f052!&Y7 ziSq?63S{D0?JG*VJA_fQI$!kGBTsL0%^TM^(UcP%8cF#H_ICll*C_|Y1q^3d*$88 zq%W2kWxo02-j6tR`N{0Q$m;$1FfwUp$?O33y}67953iX@#KP49!?#SQ4FDmZpf^|M zrDoNzor>Gm%~HwZi?QXIcv<^xvu-=Qt^0UYg)g#^R;vX$UNb5l-6}?W2I67gIb;7{ KF0qI=B=`@BgvY`F literal 0 HcmV?d00001 diff --git a/build/test/out/c/test_marktanteil.o b/build/test/out/c/test_marktanteil.o new file mode 100644 index 0000000000000000000000000000000000000000..48088e10a762920179079c90e1bedd7c0fbb0839 GIT binary patch literal 3563 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 ZN){KD7uM8-N|qxT4i;8tRxPa*{|_o&M=}5a literal 0 HcmV?d00001 diff --git a/build/test/out/test_marktanteil.out b/build/test/out/test_marktanteil.out new file mode 100644 index 0000000000000000000000000000000000000000..5b8f2e5ad211939a3e8e3ff21910905678fe5a36 GIT binary patch literal 81911 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 literal 0 HcmV?d00001 diff --git a/build/test/preprocess/files/test_marktanteil.c b/build/test/preprocess/files/test_marktanteil.c new file mode 100644 index 0000000..c0ba871 --- /dev/null +++ b/build/test/preprocess/files/test_marktanteil.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_marktanteil_NeedToImplement(void) + +{ + + double a =23; + + double b = 5; + + double result = marktanteil(a,b); + + double ergebnis = 21.739130; + + 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_marktanteil.c b/build/test/preprocess/includes/test_marktanteil.c new file mode 100644 index 0000000..376e2c1 --- /dev/null +++ b/build/test/preprocess/includes/test_marktanteil.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_marktanteil.pass b/build/test/results/test_marktanteil.pass new file mode 100644 index 0000000..5924ba9 --- /dev/null +++ b/build/test/results/test_marktanteil.pass @@ -0,0 +1,20 @@ +--- +:source: + :path: test + :file: test_marktanteil.c +:successes: +- :test: test_marktanteil_NeedToImplement + :line: 13 + :message: '' + :unity_test_time: 0 +:failures: [] +:ignores: [] +:counts: + :total: 1 + :passed: 1 + :failed: 0 + :ignored: 0 +:stdout: +- 'Der Marktanteil betrÃĪgt: 21.739130' +- Testergebniss 21.739130 +:time: 0.4875119999924209 diff --git a/build/test/runners/test_marktanteil_runner.c b/build/test/runners/test_marktanteil_runner.c new file mode 100644 index 0000000..edf6a57 --- /dev/null +++ b/build/test/runners/test_marktanteil_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_marktanteil_NeedToImplement(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_marktanteil.c"); + run_test(test_marktanteil_NeedToImplement, "test_marktanteil_NeedToImplement", 13); + + return UnityEnd(); +} diff --git a/test/test_marktanteil.c b/test/test_marktanteil.c new file mode 100644 index 0000000..feec41c --- /dev/null +++ b/test/test_marktanteil.c @@ -0,0 +1,22 @@ +#include "unity.h" +#include "funktion.h" + + +void setUp(void) +{ +} + +void tearDown(void) +{ +} + +void test_marktanteil_NeedToImplement(void) +{ + double a =23; + double b = 5; + double result = marktanteil(a,b); + double ergebnis = 21.739130; + printf("Testergebniss %f", ergebnis); + TEST_ASSERT_EQUAL_FLOAT(result, ergebnis); +} +