Skip to content

Commit a658d75

Browse files
Create Code.cpp
1 parent f30536f commit a658d75

File tree

1 file changed

+101
-0
lines changed
  • Design_Principles/SOLID/SRP/USECASE2

1 file changed

+101
-0
lines changed
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#include <iostream>
2+
#include <sstream>
3+
#include <vector>
4+
5+
class ArrayListManager {
6+
public:
7+
std::vector<std::string> AddString(std::string inputString,
8+
char delimiter) {
9+
std::vector<std::string> list;
10+
if (inputString.empty()) {
11+
return list;
12+
}
13+
if (inputString.find(delimiter) != std::string::npos) {
14+
std::stringstream ss(inputString);
15+
std::string value;
16+
while (getline(ss, value, delimiter))
17+
list.push_back(value);
18+
} else
19+
list.push_back(inputString);
20+
return list;
21+
}
22+
};
23+
24+
int main() {
25+
ArrayListManager manager;
26+
27+
// Test Case 1: input = "apple,banana,cherry", delimiter = ','
28+
std::vector<std::string> list1 =
29+
manager.AddString("apple,banana,cherry", ',');
30+
std::cout << "List 1:" << std::endl;
31+
for (int i = 0; i < list1.size(); i++)
32+
std::cout << list1[i] << std::endl;
33+
std::cout << std::endl;
34+
35+
// Test Case 2: input = "red|green|blue", delimiter = '|'
36+
std::vector<std::string> list2 = manager.AddString("red|green|blue", '|');
37+
std::cout << "List 2:" << std::endl;
38+
for (int i = 0; i < list2.size(); i++)
39+
std::cout << list2[i] << std::endl;
40+
std::cout << std::endl;
41+
42+
// Test Case 3: input = "1;2;3;4", delimiter = ';'
43+
std::vector<std::string> list3 = manager.AddString("1;2;3;4", ';');
44+
std::cout << "List 3:" << std::endl;
45+
for (int i = 0; i < list3.size(); i++)
46+
std::cout << list3[i] << std::endl;
47+
std::cout << std::endl;
48+
49+
// Test Case 4: input = Hello, world!", delimiter = ' '
50+
std::vector<std::string> list4 = manager.AddString("Hello, world!", ' ');
51+
std::cout << "List 4:" << std::endl;
52+
for (int i = 0; i < list4.size(); i++)
53+
std::cout << list4[i] << std::endl;
54+
std::cout << std::endl;
55+
56+
// Test Case 5: input = "", delimiter = ','
57+
std::vector<std::string> list5 = manager.AddString("", ',');
58+
std::cout << "List 5:" << std::endl;
59+
for (int i = 0; i < list5.size(); i++)
60+
std::cout << list5[i] << std::endl;
61+
std::cout << std::endl;
62+
63+
// Test Case 6: input = "1-2-3-4-5", delimiter = '-'
64+
std::vector<std::string> list6 = manager.AddString("1-2-3-4-5", '-');
65+
std::cout << "List 6:" << std::endl;
66+
for (int i = 0; i < list6.size(); i++)
67+
std::cout << list6[i] << std::endl;
68+
std::cout << std::endl;
69+
70+
// Test Case 7: input = "car;bus;train;plane", delimiter = ','
71+
std::vector<std::string> list7 =
72+
manager.AddString("car;bus;train;plane", ';');
73+
std::cout << "List 7:" << std::endl;
74+
for (int i = 0; i < list7.size(); i++)
75+
std::cout << list7[i] << std::endl;
76+
std::cout << std::endl;
77+
78+
// Test Case 8: input = "1", delimiter = ','
79+
std::vector<std::string> list8 = manager.AddString("1", ',');
80+
std::cout << "List 8:" << std::endl;
81+
for (int i = 0; i < list8.size(); i++)
82+
std::cout << list8[i] << std::endl;
83+
std::cout << std::endl;
84+
85+
// Test Case 9: input = "1,2,3,4,5,6,7,8,9,10", delimiter = ','
86+
std::vector<std::string> list9 =
87+
manager.AddString("1,2,3,4,5,6,7,8,9,10", ',');
88+
std::cout << "List 9:" << std::endl;
89+
for (int i = 0; i < list9.size(); i++)
90+
std::cout << list9[i] << std::endl;
91+
std::cout << std::endl;
92+
93+
// Test Case 10: input = "cat,dog,bird", delimiter = ' '
94+
std::vector<std::string> list10 = manager.AddString("cat,dog,bird", ' ');
95+
std::cout << "List 10:" << std::endl;
96+
for (int i = 0; i < list10.size(); i++)
97+
std::cout << list10[i] << std::endl;
98+
std::cout << std::endl;
99+
100+
return 0;
101+
}

0 commit comments

Comments
 (0)