X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Ftest%2Fnet%2Fsf%2Fopenrocket%2Futil%2FExpressionParserTest.java;h=efbabe9c499d22708f2465400f979facfe4b5a08;hb=0136c39fd03820cef4c8e6c84b624ac8013a287e;hp=738f5b7187b51d0da86c27fa75b16c731b2e6e18;hpb=293c53455b254f8d0aef8bc616d5fcd3b695b9cc;p=debian%2Fopenrocket diff --git a/core/test/net/sf/openrocket/util/ExpressionParserTest.java b/core/test/net/sf/openrocket/util/ExpressionParserTest.java index 738f5b71..efbabe9c 100644 --- a/core/test/net/sf/openrocket/util/ExpressionParserTest.java +++ b/core/test/net/sf/openrocket/util/ExpressionParserTest.java @@ -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"); }