summaryrefslogtreecommitdiff
path: root/dsa/DSALib/Auxiliary/Calculator/Argument.cs
diff options
context:
space:
mode:
authorDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
committerDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
commit2fa4a0e50ebfc97059c8b84dbd17e79f9afc8a8d (patch)
treec3b34ccb2737e347a73768536895cbbaab13cc01 /dsa/DSALib/Auxiliary/Calculator/Argument.cs
parentec991104f56e90d7bb2878da2fe6ed4e585dfc46 (diff)
parentaf74efccf8d21e6151022b71f3cacd3fa83024ee (diff)
Merge branch 'rework-backend'
Diffstat (limited to 'dsa/DSALib/Auxiliary/Calculator/Argument.cs')
-rw-r--r--dsa/DSALib/Auxiliary/Calculator/Argument.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/dsa/DSALib/Auxiliary/Calculator/Argument.cs b/dsa/DSALib/Auxiliary/Calculator/Argument.cs
new file mode 100644
index 0000000..e681377
--- /dev/null
+++ b/dsa/DSALib/Auxiliary/Calculator/Argument.cs
@@ -0,0 +1,35 @@
+using System;
+
+namespace DSALib.Auxiliary.Calculator
+{
+ /// <summary>
+ /// Provides an ISolvable class to save numbers. The class handles Argument checking and conversion from string to int.
+ /// </summary>
+ public class Argument : ISolvable
+ {
+ private readonly int value;
+
+ public Argument(string value)
+ {
+ // check whether the value given is an empty string
+ if (string.IsNullOrEmpty(value))
+ throw new ArgumentException("Argument kann nicht mit einem leeren string instanziert werden. ",
+ nameof(value));
+
+ if (!int.TryParse(value, out var result))
+ throw new ArgumentException($"Kann {value} nicht in Integer konvertieren");
+
+ this.value = result;
+ }
+
+ public int Solve()
+ {
+ return value;
+ }
+
+ public override string ToString()
+ {
+ return value.ToString();
+ }
+ }
+} \ No newline at end of file