Skip to content

Commit 8e4c2bc

Browse files
committed
Add ExpressionWrapper class
1 parent c7eec69 commit 8e4c2bc

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
namespace BooleanExpressionParser;
2+
3+
class ExpressionWrapper
4+
{
5+
public string Expression { get; private set; }
6+
public string[] VariableOrder { get; private set; }
7+
8+
public ExpressionWrapper(string input)
9+
{
10+
input = input.Trim();
11+
var parts = input.Split(';');
12+
for (int i = 0; i < parts.Length; i++)
13+
{
14+
parts[i] = parts[i].Trim();
15+
}
16+
17+
if (input.Length == 0) throw new ArgumentException("Expression cannot be empty", nameof(input));
18+
if (parts[0].Length == 0) throw new ArgumentException("Expression cannot be empty", nameof(input));
19+
20+
Expression = parts[0];
21+
22+
if (parts.Length > 1 && parts[1].Length != 0)
23+
{
24+
VariableOrder = parts[1].Split(',');
25+
for (int i = 0; i < VariableOrder.Length; i++)
26+
{
27+
VariableOrder[i] = VariableOrder[i].Trim();
28+
}
29+
}
30+
else {
31+
VariableOrder = new string[0];
32+
}
33+
34+
}
35+
}

0 commit comments

Comments
 (0)