|
4 | 4 | * https://www.log2base2.com/c-examples/loop/split-a-number-into-digits-in-c.html
|
5 | 5 | * @details
|
6 | 6 | * @author [Muhammad Junaid Khalid](https://github.com/mjk22071998)
|
7 |
| - * @see related_file.cpp, another_file.cpp |
8 | 7 | */
|
9 | 8 |
|
10 | 9 | #include <algorithm> /// For reveresing the vector
|
@@ -87,61 +86,57 @@ namespace greedy_algorithms{
|
87 | 86 | }
|
88 | 87 | }
|
89 | 88 |
|
90 |
| -int main() { |
| 89 | +void tests(){ |
91 | 90 | greedy_algorithms::DigitSeparation ds;
|
92 | 91 |
|
93 | 92 | // Test case: Positive number
|
94 | 93 | std::int64_t number = 1234567890;
|
95 | 94 | std::vector<std::int64_t> expectedReverse = {0, 9, 8, 7, 6, 5, 4, 3, 2, 1};
|
96 | 95 | std::vector<std::int64_t> expectedForward = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
|
97 |
| - |
98 |
| - // Testing reverse order |
99 | 96 | std::vector<std::int64_t> reverseOrder = ds.digitSeparationReverseOrder(number);
|
100 | 97 | assert(reverseOrder == expectedReverse);
|
101 |
| - |
102 |
| - // Testing forward order |
103 | 98 | std::vector<std::int64_t> forwardOrder = ds.digitSeparationForwardOrder(number);
|
104 | 99 | assert(forwardOrder == expectedForward);
|
105 | 100 |
|
106 | 101 | // Test case: Single digit number
|
107 | 102 | number = 5;
|
108 | 103 | expectedReverse = {5};
|
109 | 104 | expectedForward = {5};
|
110 |
| - |
111 | 105 | reverseOrder = ds.digitSeparationReverseOrder(number);
|
112 | 106 | assert(reverseOrder == expectedReverse);
|
113 |
| - |
114 | 107 | forwardOrder = ds.digitSeparationForwardOrder(number);
|
115 | 108 | assert(forwardOrder == expectedForward);
|
116 | 109 |
|
117 | 110 | // Test case: Zero
|
118 | 111 | number = 0;
|
119 | 112 | expectedReverse = {0};
|
120 | 113 | expectedForward = {0};
|
121 |
| - |
122 | 114 | reverseOrder = ds.digitSeparationReverseOrder(number);
|
123 | 115 | assert(reverseOrder == expectedReverse);
|
124 |
| - |
125 | 116 | forwardOrder = ds.digitSeparationForwardOrder(number);
|
126 | 117 | assert(forwardOrder == expectedForward);
|
127 | 118 |
|
128 | 119 | // Test case: Large number
|
129 | 120 | number = 987654321012345;
|
130 | 121 | expectedReverse = {5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
131 | 122 | expectedForward = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5};
|
132 |
| - |
133 | 123 | reverseOrder = ds.digitSeparationReverseOrder(number);
|
134 | 124 | assert(reverseOrder == expectedReverse);
|
135 |
| - |
136 | 125 | forwardOrder = ds.digitSeparationForwardOrder(number);
|
137 | 126 | assert(forwardOrder == expectedForward);
|
138 | 127 |
|
139 | 128 | // Test case: Negative number
|
140 | 129 | number = -987654321012345;
|
141 | 130 | expectedReverse = {5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
142 | 131 | expectedForward = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5};
|
| 132 | + std::vector<std::int64_t> reverseOrder = ds.digitSeparationReverseOrder(number); |
| 133 | + assert(reverseOrder == expectedReverse); |
| 134 | + std::vector<std::int64_t> forwardOrder = ds.digitSeparationForwardOrder(number); |
| 135 | + assert(forwardOrder == expectedForward); |
| 136 | +} |
143 | 137 |
|
144 |
| - std::cout << "All tests passed!" << std::endl; |
| 138 | +int main() { |
| 139 | + tests(); |
145 | 140 |
|
146 | 141 | return 0;
|
147 | 142 | }
|
0 commit comments