コード例 #1
0
 def test_IsValid_NestedParenConfiguration_Returns_True(self):
     # Arrange
     entireExpression = RawExpression("((1+1)+1)")
     # Act
     actual = entireExpression.isValid()
     expected = True
     # Assert
     self.assertEqual(actual, expected)
コード例 #2
0
 def test_IsValid_Plus1Plus1_Returns_False(self):
     # Arrange
     entireExpression = RawExpression("+1+1")
     # Act
     actual = entireExpression.isValid()
     expected = False
     # Assert
     self.assertEqual(actual, expected)
コード例 #3
0
 def test_IsValid_LParen1Plus1RParen_Returns_True(self):
     # Arrange
     entireExpression = RawExpression("(1+1)")
     # Act
     actual = entireExpression.isValid()
     expected = True
     # Assert
     self.assertEqual(actual, expected)
コード例 #4
0
 def test_IsValid_EmptyParens_Returns_False(self):
     # Arrange
     entireExpression = RawExpression("1+()1")
     # Act
     actual = entireExpression.isValid()
     expected = False
     # Assert
     self.assertEqual(actual, expected)
コード例 #5
0
 def test_Evaluate_1Plus1Plus1Plus1_Returns_4(self):
   # Arrange
   entireExpression = RawExpression("1+1+1+1")
   # Act
   actual = entireExpression.evaluate()
   expected = 4
   # Assert
   self.assertEqual(actual, expected)
コード例 #6
0
 def test_Evaluate_2Plus2Times3_Returns_8(self):
   # Arrange
   entireExpression = RawExpression("2+2*3")
   # Act
   actual = entireExpression.evaluate()
   expected = 8
   # Assert
   self.assertEqual(actual, expected)
コード例 #7
0
 def test_Evaluate_4Divides2_Returns_2(self):
   # Arrange
   entireExpression = RawExpression("4/2")
   # Act
   actual = entireExpression.evaluate()
   expected = 2
   # Assert
   self.assertEqual(actual, expected)
コード例 #8
0
 def test_Evaluate_LParen2Plus3RParen2_Returns_10(self):
   # Arrange
   entireExpression = RawExpression("(2+3)2")
   # Act
   actual = entireExpression.evaluate()
   expected = 10
   # Assert
   self.assertEqual(actual, expected)
コード例 #9
0
 def test_Evaluate_MiscellaneousComplexExpressionWithSpaces_Returns_24(self):
   # Arrange
   entireExpression = RawExpression("3* (    (2+3)-4)*(2+1)(1+1)+5+2/ 2")
   # Act
   actual = entireExpression.evaluate()
   expected = 24
   # Assert
   self.assertEqual(actual, expected)
コード例 #10
0
 def test_Evaluate_2Times1_Returns_2(self):
   # Arrange
   entireExpression = RawExpression("2*1")
   # Act
   actual = entireExpression.evaluate()
   expected = 2
   # Assert
   self.assertEqual(actual, expected)
コード例 #11
0
 def test_Evaluate_1PlusParentheticalParenthetical_Returns_11(self):
   # Arrange
   entireExpression = RawExpression("1+(1+1)(2+3)")
   # Act
   actual = entireExpression.evaluate()
   expected = 11
   # Assert
   self.assertEqual(actual, expected)
コード例 #12
0
 def test_Evaluate_ParentheticalPlusParentheticalPlus1_Returns_8(self):
   # Arrange
   entireExpression = RawExpression("(1+1)+(2+3)+1")
   # Act
   actual = entireExpression.evaluate()
   expected = 8
   # Assert
   self.assertEqual(actual, expected)
コード例 #13
0
 def test_Evaluate_TwoParentheticalsNoTimes_Returns_10(self):
   # Arrange
   entireExpression = RawExpression("(2+3)(1+1)")
   # Act
   actual = entireExpression.evaluate()
   expected = 10
   # Assert
   self.assertEqual(actual, expected)
コード例 #14
0
 def test_IsValid_RParenStart_Returns_False(self):
     # Arrange
     entireExpression = RawExpression(")1+1)")
     # Act
     actual = entireExpression.isValid()
     expected = False
     # Assert
     self.assertEqual(actual, expected)
コード例 #15
0
 def test_Evaluate_1Minus1_Returns_0(self):
   # Arrange
   entireExpression = RawExpression("1-1")
   # Act
   actual = entireExpression.evaluate()
   expected = 0
   # Assert
   self.assertEqual(actual, expected)
コード例 #16
0
 def test_Evaluate_1Times2Times2Minus3_Returns_1(self):
   # Arrange
   entireExpression = RawExpression("1*2*2-3")
   # Act
   actual = entireExpression.evaluate()
   expected = 1
   # Assert
   self.assertEqual(actual, expected)
コード例 #17
0
from RawExpression import RawExpression

#!/usr/bin/env python
haveValidEquation = False
while (not haveValidEquation):
    print("Please enter an equation.")
    print("x = ")
    inputString = input()
    expression = RawExpression(inputString)
    if expression.isValid():
        haveValidEquation = True
    else:
        print("Invalid Equation.")

print("x = " + str(expression.evaluate()))