public void AlterationTest() { // Create inital combination ExpressionHex expression = _expression1.Combine(_expression2, ExpressionOperator.Plus) as ExpressionHex; Assert.AreEqual(expression.Result.ToInteger(), 3); // Alter combined object _expression2 = _expression2.Combine(_expression3, ExpressionOperator.Plus) as ExpressionHex; Assert.AreEqual(expression.Result.ToInteger(), 3); }
public void MultiplyTest() { ExpressionHex expression = _expression1.Combine(_expression2, ExpressionOperator.Multiply) as ExpressionHex; // 1 * 2 Assert.AreEqual(expression.Result.ToInteger(), 2); expression = expression.Combine(_expression3, ExpressionOperator.Multiply) as ExpressionHex; // 1 * 2 * 3 Assert.AreEqual(expression.Result.ToInteger(), 6); }
public void DivideTest() { ExpressionHex expression = _expression1.Combine(_expression2, ExpressionOperator.Divide) as ExpressionHex; // 1 / 2 Assert.AreEqual(expression.Result.ToInteger(), 0); expression = expression.Combine(_expression3, ExpressionOperator.Divide) as ExpressionHex; // (1 / 2) / 3 Assert.AreEqual(expression.Result.ToInteger(), 0); }
public void MinusTest() { ExpressionHex expression = _expression1.Combine(_expression2, ExpressionOperator.Minus) as ExpressionHex; // 1 - 2 Assert.AreEqual(expression.Result.ToInteger(), -1); expression = expression.Combine(_expression3, ExpressionOperator.Minus) as ExpressionHex; // 1 - 2 - 3 Assert.AreEqual(expression.Result.ToInteger(), -4); }
public void PlusTest() { ExpressionHex expression = _expression1.Combine(_expression2, ExpressionOperator.Plus) as ExpressionHex; // 1 + 2 Assert.AreEqual(expression.Result.ToInteger(), 3); expression = expression.Combine(_expression3, ExpressionOperator.Plus) as ExpressionHex; // 1 + 2 + 3 Assert.AreEqual(expression.Result.ToInteger(), 6); }
public void Initialize() { _expression1 = new ExpressionHex(new string[0], () => new Hexadecimal(1)); _expression2 = new ExpressionHex(new string[0], () => new Hexadecimal(2)); _expression3 = new ExpressionHex(new string[0], () => new Hexadecimal(3)); }