• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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