diff options
Diffstat (limited to 'DiscoBot/Auxiliary/Calculator/Operator.cs')
-rw-r--r-- | DiscoBot/Auxiliary/Calculator/Operator.cs | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/DiscoBot/Auxiliary/Calculator/Operator.cs b/DiscoBot/Auxiliary/Calculator/Operator.cs deleted file mode 100644 index 0928ec2..0000000 --- a/DiscoBot/Auxiliary/Calculator/Operator.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; - -namespace DiscoBot.Auxiliary.Calculator -{ - /// <summary> - /// The Operator Class represents a binary operator with tow Arguments and an Operation type - /// </summary> - public class Operator : ISolvable - { - private readonly ISolvable arg1, arg2; - - public Operator(ISolvable arg1, ISolvable arg2, Ops operatorType) - { - this.arg1 = arg1; - this.arg2 = arg2; - this.OperatorType = operatorType; - } - - public Ops OperatorType { get; set; } - - public int Solve() - { - int result; - switch (this.OperatorType) - { - case Ops.Dice: - result = Dice.Roll(this.arg1.Solve(), this.arg2.Solve()); - break; - case Ops.Multiply: - result = this.arg1.Solve() * this.arg2.Solve(); - break; - case Ops.Add: - result = this.arg1.Solve() + this.arg2.Solve(); - break; - case Ops.Subtract: - result = this.arg1.Solve() - this.arg2.Solve(); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - return result; - } - - public override string ToString() - { - return $"({this.arg1} {this.OperatorType} {this.arg2})"; - } - } -} |