1 /* Copyright (c) 2023 Michael Gene Brockus (Dreamer) and Contributed to Unity Project 2 * ========================================== 3 * Unity Project - A Test Framework for C 4 * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams 5 * [Released under MIT License. Please refer to license.txt for details] 6 * ========================================== */ 7 8 #ifndef UNITY_BDD_TEST_H_ 9 #define UNITY_BDD_TEST_H_ 10 11 #ifdef __cplusplus 12 extern "C" 13 { 14 #endif 15 16 #include <stdio.h> 17 18 /** 19 * @brief Macros for defining a Behavior-Driven Development (BDD) structure with descriptions. 20 * 21 * These macros provide a way to structure and describe different phases (Given, When, Then) of a 22 * test scenario in a BDD-style format. However, they don't have functional behavior by themselves 23 * and are used for descriptive purposes. 24 */ 25 #define GIVEN(description) \ 26 if (0) { \ 27 printf("Given %s\n", description); \ 28 } else 29 30 #define WHEN(description) \ 31 if (0) { \ 32 printf("When %s\n", description); \ 33 } else 34 35 #define THEN(description) \ 36 if (0) { \ 37 printf("Then %s\n", description); \ 38 } else 39 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif 45