diff options
Diffstat (limited to 'jack-tests/tests/com/android/jack/flow/loop/dx/Tests.java')
-rw-r--r-- | jack-tests/tests/com/android/jack/flow/loop/dx/Tests.java | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/jack-tests/tests/com/android/jack/flow/loop/dx/Tests.java b/jack-tests/tests/com/android/jack/flow/loop/dx/Tests.java new file mode 100644 index 0000000..0ffc613 --- /dev/null +++ b/jack-tests/tests/com/android/jack/flow/loop/dx/Tests.java @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.flow.loop.dx; + +import com.android.jack.flow.loop.jack.InfiniteLoop; +import com.android.jack.flow.loop.jack.LoopDoWhileBreak; +import com.android.jack.flow.loop.jack.LoopDoWhileContinue; +import com.android.jack.flow.loop.jack.LoopDoWhileLiteral; +import com.android.jack.flow.loop.jack.LoopForBreak; +import com.android.jack.flow.loop.jack.LoopForContinue; +import com.android.jack.flow.loop.jack.LoopWhileBreak; +import com.android.jack.flow.loop.jack.LoopWhileContinue; +import com.android.jack.flow.loop.jack.NoMoreStatementBug; + +import junit.framework.Assert; + +import org.junit.Test; + +public class Tests { + + @Test + public void loopForBreak() { + LoopForBreak l = new LoopForBreak(); + Assert.assertEquals(5, l.loop()); + } + @Test + public void loopForBreakWithLabel() { + LoopForBreak l = new LoopForBreak(); + Assert.assertEquals(5, l.loopWithLabel()); + } + @Test + public void loopForBreakWithUnusedLabel() { + LoopForBreak l = new LoopForBreak(); + Assert.assertEquals(10, l.loopWithUnusedLabel()); + } + @Test + public void loopDoWhileBreak() { + LoopDoWhileBreak l = new LoopDoWhileBreak(); + Assert.assertEquals(5, l.loop()); + } + @Test + public void loopDoWhileBreakWithLabel() { + LoopDoWhileBreak l = new LoopDoWhileBreak(); + Assert.assertEquals(5, l.loopWithLabel()); + } + @Test + public void loopDoWhileFalse() { + LoopDoWhileLiteral l = new LoopDoWhileLiteral(); + Assert.assertEquals(2, l.doWhileFalse()); + } + @Test + public void loopDoWhileTrue() { + LoopDoWhileLiteral l = new LoopDoWhileLiteral(); + Assert.assertEquals(128, l.doWhileTrue()); + } + @Test + public void loopDoWhileBreakWithUnusedLabel() { + LoopDoWhileBreak l = new LoopDoWhileBreak(); + Assert.assertEquals(10, l.loopWithUnusedLabel()); + } + @Test + public void loopWhileBreak() { + LoopWhileBreak l = new LoopWhileBreak(); + Assert.assertEquals(5, l.loop()); + } + @Test + public void loopWhileBreakWithLabel() { + LoopWhileBreak l = new LoopWhileBreak(); + Assert.assertEquals(5, l.loopWithLabel()); + } + @Test + public void loopWhileBreakWithUnusedLabel() { + LoopWhileBreak l = new LoopWhileBreak(); + Assert.assertEquals(10, l.loopWithUnusedLabel()); + } + @Test + public void loopWhileContinue() { + LoopWhileContinue l = new LoopWhileContinue(); + Assert.assertEquals(40, l.loop()); + } + @Test + public void loopWhileContinueWithLabel() { + LoopWhileContinue l = new LoopWhileContinue(); + Assert.assertEquals(40, l.loopWithLabel()); + } + @Test + public void loopWhileContinueWithUnusedLabel() { + LoopWhileContinue l = new LoopWhileContinue(); + Assert.assertEquals(45, l.loopWithUnusedLabel()); + } + @Test + public void loopForContinue() { + LoopForContinue l = new LoopForContinue(); + Assert.assertEquals(40, l.loop()); + } + @Test + public void loopForContinueWithLabel() { + LoopForContinue l = new LoopForContinue(); + Assert.assertEquals(40, l.loopWithLabel()); + } + + @Test + public void loopForContinueWithUnusedLabel() { + LoopForContinue l = new LoopForContinue(); + Assert.assertEquals(45, l.loopWithUnusedLabel()); + } + @Test + public void loopDoWhileContinue() { + LoopDoWhileContinue l = new LoopDoWhileContinue(); + Assert.assertEquals(40, l.loop()); + } + @Test + public void loopDoWhileContinueWithLabel() { + LoopDoWhileContinue l = new LoopDoWhileContinue(); + Assert.assertEquals(40, l.loopWithLabel()); + } + @Test + public void loopDoWhileContinueWithUnusedLabel() { + LoopDoWhileContinue l = new LoopDoWhileContinue(); + Assert.assertEquals(45, l.loopWithUnusedLabel()); + } + @Test + public void noMoreStatementBug() { + NoMoreStatementBug l = new NoMoreStatementBug(); + Assert.assertEquals(40, l.loop()); + } + + @Test + public void infiniteLoop001() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop001()); + } + + @Test + public void infiniteLoop002() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop002()); + } + + @Test + public void infiniteLoop003() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop003()); + } + + @Test + public void infiniteLoop004() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop004()); + } + + @Test + public void infiniteLoop005() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop005()); + } + + @Test + public void infiniteLoop006() { + Assert.assertEquals(5, InfiniteLoop.infiniteLoop006()); + } +} |