Negative number test
[debian/openrocket] / core / test / net / sf / openrocket / util / ExpressionParserTest.java
index 738f5b7187b51d0da86c27fa75b16c731b2e6e18..efbabe9c499d22708f2465400f979facfe4b5a08 100644 (file)
@@ -20,6 +20,16 @@ public class ExpressionParserTest {
                assertEquals(1.2, parser.parse("01.200"), EPS);
        }
        
+       @Test
+       public void testNegativeNumber() throws InvalidExpressionException {
+               assertEquals(-1.0, parser.parse("-1"), EPS);
+               assertEquals(-15.0, parser.parse("-15"), EPS);
+               assertEquals(-0.9, parser.parse("-.9"), EPS);
+               assertEquals(-1.0, parser.parse("-1."), EPS);
+               assertEquals(-1.2, parser.parse("-1.2"), EPS);
+               assertEquals(-1.2, parser.parse("-01.200"), EPS);
+       }
+       
        
        @Test
        public void testDecimalComma() throws InvalidExpressionException {
@@ -41,9 +51,19 @@ public class ExpressionParserTest {
        @Test
        public void testFraction() throws InvalidExpressionException {
                assertEquals(1.5, parser.parse("1 1/2"), EPS);
+               assertEquals(11 + 11.0 / 22.0, parser.parse("11 11/22"), EPS);
+               assertEquals(-11 - 11.0 / 22.0, parser.parse("-11 11/22"), EPS);
                assertEquals(1.5, parser.parse("  1    1 / 2"), EPS);
+               assertEquals(11 + 11.0 / 22.0, parser.parse("  11    11 / 22"), EPS);
+               assertEquals(2.0 + 3.0 / 7.0, parser.parse("1 + 1 3/7"), EPS);
                assertEquals(2.0 + 3.0 / 7.0, parser.parse("1 + 1 3/7"), EPS);
-               assertEquals(3.0, parser.parse("1 1/2 * 2"), EPS);
+               assertEquals(3.0, parser.parse("1 1/2* 2"), EPS);
+               assertEquals(3.0, parser.parse("1 1/2* 2"), EPS);
+       }
+       
+       @Test
+       public void testCharConversion() throws InvalidExpressionException {
+               assertEquals(1 + 1.0 / 9.0, parser.parse("1 \u2081 \u2044 \u2089"), EPS);
        }
        
        @Test
@@ -53,6 +73,12 @@ public class ExpressionParserTest {
                expectInvalid("1 2");
                expectInvalid("12 2.5");
                expectInvalid("1 2.5/4");
+               expectInvalid("11 22.55/44");
+               expectInvalid("1 2/4.1");
+               expectInvalid("11 22/44.11");
+               expectInvalid("1.2 3/4");
+               expectInvalid("12.23 34/45");
+               
                expectInvalid("1. 2");
                expectInvalid("1 .2");
        }